CVE-2021-24220: Multiple Thrive Themes < 2.0.0 - Arbitrary File Upload

日期: 2025-08-01 | 影响软件: Thrive Themes | POC: 已公开

漏洞描述

Thrive “Legacy” Rise by Thrive Themes WordPress theme before 2.0.0, Luxe by Thrive Themes WordPress theme before 2.0.0, Minus by Thrive Themes WordPress theme before 2.0.0, Ignition by Thrive Themes WordPress theme before 2.0.0, FocusBlog 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 register a REST API endpoint to compress images using the Kraken image optimization engine. By supplying a crafted request in combination with data inserted using the Option Update vulnerability, it was possible to use this endpoint to retrieve malicious code from a remote URL and overwrite an existing file on the site with it or create a new file.This includes executable PHP files that contain malicious code.

PoC代码[已公开]

id: CVE-2021-24220

info:
  name: Multiple Thrive Themes < 2.0.0 -  Arbitrary File Upload
  author: pussycat0x
  severity: critical
  description: |
    Thrive “Legacy” Rise by Thrive Themes WordPress theme before 2.0.0, Luxe by Thrive Themes WordPress theme before 2.0.0, Minus by Thrive Themes WordPress theme before 2.0.0, Ignition by Thrive Themes WordPress theme before 2.0.0, FocusBlog 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 register a REST API endpoint to compress images using the Kraken image optimization engine. By supplying a crafted request in combination with data inserted using the Option Update vulnerability, it was possible to use this endpoint to retrieve malicious code from a remote URL and overwrite an existing file on the site with it or create a new file.This includes executable PHP files that contain malicious code.
  impact: |
    Attackers can execute arbitrary PHP code, potentially leading to full site compromise and malicious control.
  remediation: |
    Update all affected themes to version 2.0.0 or later to fix the vulnerability.
  reference:
    - https://www.wordfence.com/blog/2021/03/recently-patched-vulnerability-in-thrive-themes-actively-exploited-in-the-wild
    - https://wpscan.com/vulnerability/a2424354-2639-4f53-a24f-afc11f6c4cac
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
    cvss-score: 9.1
    cve-id: CVE-2021-24220
    cwe-id: CWE-434
    epss-score: 0.53243
    epss-percentile: 0.97874
    cpe: cpe:2.3:a:thrivethemes:focusblog:*:*:*:*:*:wordpress_:*:*
  metadata:
    verified: true
    vendor: thrivethemes
    product: focusblog
    framework: wordpress
  tags: cve,cve2021,wordpress,wp,wpscan,wp-theme,thrive,passive,vkev

http:
  - method: GET
    path:
      - "{{BaseURL}}/wp-content/themes/{{theme}}/style.css"

    attack: batteringram
    payloads:
      theme:
        - rise
        - luxe
        - minus
        - ignition
        - focusblog
        - squared
        - voice
        - performag
        - pressive
        - storied

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - "status_code == 200"
          - compare_versions(version, '< 2.0.0')
          - contains(body, 'Theme Name')
        condition: and

      - type: word
        part: body
        words:
          - "rise"
          - "luxe"
          - "minus"
          - "ignition"
          - "focusblog"
          - "squared"
          - "voice"
          - "performag"
          - "pressive"
          - "storied"
        condition: or
        case-insensitive: true

    extractors:
      - type: regex
        part: body
        name: version
        group: 1
        regex:
          - 'Version: ([0-9.]+)'
# digest: 4b0a00483046022100f3221467795580cd2b85a1055a85e7fcddc89b30da5f1da7a9998283e2f7ce540221008bfc753d960e59fdf086c68e69d6d999822abb82162b3f08f8af9799f3bcf3fe:922c64590222798bb761d5b6d8e72950

相关漏洞推荐