← back
CVE-2026-31859

Craft has Reflective XSS via incomplete return URL sanitization

CVSS 6.9 MEDIUMEPSS 0.2%CWE-116CWE-79
Vexday Risk Score
13Low
SSVC decision (CISA)
Track
No exploitation signal → monitor
CVSS 6.9EPSS 0.2%KEV nãoPoC Nuclei Metasploit Patch
Lifecycle
11 Mar 2026Published on NVD
Recommendation: Monitor — no exploitation signal at the moment.
Craft is a content management system (CMS). The fix for CVE-2025-35939 in craftcms/cms introduced a strip_tags() call in src/web/User.php to sanitize return URLs before they are stored in the session. However, strip_tags() only removes HTML tags (angle brackets) -- it does not inspect or filter URL schemes. Payloads like javascript:alert(document.cookie) contain no HTML tags and pass through strip_tags() completely unmodified, enabling reflected XSS when the return URL is rendered in an href attribute. This vulnerability is fixed in 5.9.7 and 4.17.3.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Affected products
craftcms · cms

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →