Ad

CVE-2026-31859

MEDIUM CVSS 4.0: 6.9 EPSS 0.03%
Updated Mar 17, 2026
Craftcms
Parameter Value
CVSS 6.9 (MEDIUM)
Affected Versions 4.15.3 — 5.9.7
Fixed In 5.9.7
Type CWE-116 (Improper Encoding or Escaping of Output), CWE-79 (Cross-Site Scripting (XSS))
Vendor Craftcms
Public PoC No

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.

Attack Parameters

Attack Vector
Network
Can be exploited remotely
Attack Complexity
Low
Easy to exploit
Attack Requirements
None
No additional conditions
Privileges Required
None
No privileges needed
User Interaction
None
No user interaction needed

Impact Assessment

Confidentiality
None
No data leak
Integrity
None
No data modification
Availability
None
No disruption

CVSS Vector v4.0

Vulnerable Products 2

Configuration From (including) Up to (excluding)
Craftcms Craft_Cms
cpe:2.3:a:craftcms:craft_cms:*:*:*:*:*:*:*:*
4.15.3 4.17.3
Craftcms Craft_Cms
cpe:2.3:a:craftcms:craft_cms:*:*:*:*:*:*:*:*
5.7.5 5.9.7