CVE-2025-35939
Craftcms Craft Cms ≤ 4.15.3
Raw vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XSummary
CVE-2025-35939 is a medium-severity External Control of Assumed-Immutable Web Parameter (CWE-472) vulnerability in Craftcms Craft Cms. Its CVSS base score is 6.9 (Medium).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 32% of CVEs by exploit likelihood; CISA has added it to the Known Exploited Vulnerabilities catalog.
The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
Craft CMS is vulnerable to storage of arbitrary content supplied by unauthenticated users inside PHP session files on disk. The affected component is the authentication redirect logic that writes an unsanitized return URL parameter into a file named sess_[session_value] under /var/lib/php/sessions. Versions prior to 5.7.5 and 4.15.3 are impacted.
An unauthenticated remote attacker can supply a crafted return URL containing PHP code or other content when requesting a protected resource. Craft CMS then writes the supplied value into a predictable session file on the server, enabling later access or execution of that content when combined with an independent file-inclusion or code-execution flaw.
The project has published releases 5.7.5 and 4.15.3 that correct the issue, along with a corresponding pull request that adds sanitization of the return URL before it is stored in the session. No information is provided about observed exploitation in the wild.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2025-13951
Vulnerability Data
Craft CMS stores arbitrary content provided by unauthenticated users in session files. This content could be accessed and executed, possibly using an independent vulnerability. Craft CMS redirects requests that require authentication to the login page and generates a session file…
more
on the server at '/var/lib/php/sessions'. Such session files are named 'sess_[session_value]', where '[session_value]' is provided to the client in a 'Set-Cookie' response header. Craft CMS stores the return URL requested by the client without sanitizing parameters. Consequently, an unauthenticated client can introduce arbitrary values, such as PHP code, to a known local file location on the server. Craft CMS versions 5.7.5 and 4.15.3 have been released to address this issue.
- CWE(s)
- KEV Date Added
- 02 June 2025
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
SI-10 directly requires validation of all inputs, eliminating the assumption that client-supplied parameters remain immutable.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices directly require server-side validation of all inputs instead of trusting client-supplied immutable parameters.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Secure coding standards require server-side verification of client-supplied data, eliminating the root cause of external control of immutable parameters.
Security testing in development and acceptance will detect parameter tampering vulnerabilities before deployment.
Secure development lifecycle mandates input validation and integrity checks that directly prevent external tampering of assumed-immutable parameters.
Application security requirements explicitly call for validation of all inputs, including hidden fields, mitigating CWE-472.
Information access restriction can limit which parameters users may influence, providing a secondary layer of defense.