CVE Vulnerabilities

CVE-2021-24219

Improper Access Control

Published: Apr 12, 2021 | Modified: Nov 21, 2024
CVSS 3.x
5.3
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:P/A:N
RedHat/V2
RedHat/V3
Ubuntu

The Thrive Optimize WordPress plugin before 1.4.13.3, Thrive Comments WordPress plugin before 1.4.15.3, Thrive Headline Optimizer WordPress plugin before 1.3.7.3, Thrive Leads WordPress plugin before 2.3.9.4, Thrive Ultimatum WordPress plugin before 2.3.9.4, Thrive Quiz Builder WordPress plugin before 2.3.9.4, Thrive Apprentice WordPress plugin before 2.3.9.4, Thrive Visual Editor WordPress plugin before 2.6.7.4, Thrive Dashboard WordPress plugin before 2.3.9.3, Thrive Ovation WordPress plugin before 2.4.5, Thrive Clever Widgets WordPress plugin before 1.57.1 and Rise by Thrive Themes WordPress theme before 2.0.0, Ignition by Thrive Themes WordPress theme before 2.0.0, Luxe by Thrive Themes WordPress theme before 2.0.0, FocusBlog by Thrive Themes WordPress theme before 2.0.0, Minus by Thrive Themes WordPress theme before 2.0.0, Squared by Thrive Themes WordPress theme before 2.0.0, Voice WordPress theme before 2.0.0, Performag by Thrive Themes WordPress theme before 2.0.0, Pressive by Thrive Themes WordPress theme before 2.0.0, Storied by Thrive Themes WordPress theme before 2.0.0, Thrive Themes Builder WordPress theme before 2.2.4 register a REST API endpoint associated with Zapier functionality. While this endpoint was intended to require an API key in order to access, it was possible to access it by supplying an empty api_key parameter in vulnerable versions if Zapier was not enabled. Attackers could use this endpoint to add arbitrary data to a predefined option in the wp_options table.

Weakness

The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.

Affected Software

Name Vendor Start Version End Version
Focusblog Thrivethemes * 2.0.0 (excluding)
Ignition Thrivethemes * 2.0.0 (excluding)
Luxe Thrivethemes * 2.0.0 (excluding)
Minus Thrivethemes * 2.0.0 (excluding)
Performag Thrivethemes * 2.0.0 (excluding)
Pressive Thrivethemes * 2.0.0 (excluding)
Rise Thrivethemes * 2.0.0 (excluding)
Squared Thrivethemes * 2.0.0 (excluding)
Storied Thrivethemes * 2.0.0 (excluding)
Thrive_apprentice Thrivethemes * 2.3.9.4 (excluding)
Thrive_clever_widgets Thrivethemes * 1.57.1 (excluding)
Thrive_comments Thrivethemes * 1.4.15.3 (excluding)
Thrive_dashboard Thrivethemes * 2.3.9.3 (excluding)
Thrive_headline_optimizer Thrivethemes * 1.3.7.3 (excluding)
Thrive_optimize Thrivethemes * 1.4.13.3 (excluding)
Thrive_ovation Thrivethemes * 2.4.5 (excluding)
Thrive_quiz_builder Thrivethemes * 2.3.9.4 (excluding)
Thrive_themes_builder Thrivethemes * 2.2.4 (excluding)
Thrive_visual_editor Thrivethemes * 2.6.7.4 (excluding)
Voice Thrivethemes * 2.0.0 (excluding)

Extended Description

Access control involves the use of several protection mechanisms such as:

When any mechanism is not applied or otherwise fails, attackers can compromise the security of the product by gaining privileges, reading sensitive information, executing commands, evading detection, etc. There are two distinct behaviors that can introduce access control weaknesses:

Potential Mitigations

  • Compartmentalize the system to have “safe” areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area.
  • Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.

References