Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain content-editor account
-
DeliveryInject JavaScript into editable field feeding Generated Field
-
ExploitPayload cached without encoding, autoescaping disabled
-
ExecutionAdmin views element index in Control Panel
-
PersistScript executes in privileged CP session
-
ImpactActions performed as higher-privileged user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the Generated Fields feature to be in use on element(s) exposed via an element index, since that feature is what disables Twig autoescaping and stores un-encoded cached values. The attacker must hold a Craft CMS account with content-editor privileges able to write to a field that feeds a Generated Field (PR:L - not remote-unauthenticated). Execution is gated on user interaction: a higher-privileged Control Panel user must view the element index containing the injected payload (UI:P). Impact is confined to the victim's authenticated CP browser session (script execution as that user); the Craft server/data has no direct confidentiality, integrity, or availability impact. Limiting factors: need for a valid editor account, dependence on the optional Generated Fields feature, and required victim interaction all reduce realistic exploitability below the raw network-vector implication. |
| Impact | This is a genuine but modest-severity stored XSS, not a top-priority emergency. The vendor CVSS 4.0 score of 5.1 (medium) is well-calibrated: it correctly credits network vector (AV:N) and low complexity (AC:L) but limits impact via PR:L (attacker must already hold a content-editor account) and UI:P (a higher-privileged victim must actively view an affected element index). Notably, the vulnerable system itself takes no impact (VC:N/VI:N/VA:N); the only impact is on the subsequent system - the victim's authenticated Control Panel browser session (SC:L/SI:L). No EPSS score, no CISA KEV listing, and no public POC were provided in the intelligence, so there is no signal of active or imminent exploitation - the exploitation status is 'no public exploit identified at time of analysis.' All signals are internally consistent (medium CVSS, no exploitation evidence, privilege- and interaction-gated), so priority should be routine patching to 5.10.13 rather than emergency response. The main residual risk is privilege escalation: a low-trust content editor abusing an admin's session, which matters most in Craft deployments with many semi-trusted editors. |
| Exploit ScenarioDerived | A low-privileged content editor enters a malicious JavaScript payload into an editable field that feeds a Generated Field; because the feature disables Twig autoescaping and stores the value un-encoded in cache, the script is served verbatim. When a higher-privileged administrator later opens the element index containing that entry, the payload executes inside the admin's authenticated Control Panel session, enabling actions as that admin. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Stored cross-site scripting in Craft CMS (5.7.0 through 5.10.12) allows an authenticated content editor to plant malicious JavaScript that executes in the Control Panel session of a higher-privileged user who views the affected element index. The flaw lives in the Generated Fields feature, which disables Twig autoescaping and caches field values without encoding, so injected markup is served raw; exploitation requires an editor-level account (PR:L), the optional Generated Fields feature to be in use, and the victim to open the index (UI:P), and the resulting impact is confined to the victim's browser session with no server-side confidentiality, integrity, or availability loss. No public exploit code or confirmed active exploitation has been identified at time of analysis, and the practical risk is moderate rather than critical because of the account, feature, and interaction prerequisites.
RemediationAI
Upgrade Craft CMS to 5.10.13 or later - the vendor-released patch for this issue - and confirm the deployment actually runs the patched code after any Composer update. If immediate upgrading is not possible, reduce exposure by removing Generated Fields from element index source columns and from any cached index view so their un-encoded output is no longer rendered to other users, understanding that this disables a convenience feature administrators may rely on; alternatively audit and clear the generated-field cache so any already-stored payloads are flushed, and tighten Control Panel access so only fully trusted users hold content-editor accounts, though neither measure fixes the underlying autoescaping bypass. Deploying a strict Content-Security-Policy on the Control Panel origin limits script execution and cookie theft but requires testing against Craft's inline scripts and admin UI behavior. Reference the vendor advisory at https://github.com/craftcms/cms/security/advisories/GHSA-h9jh-v8vc-m5rp for the definitive fix guidance and any additional hardening notes, and monitor Craft's release channel for follow-up patch versions.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability is a CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e. stored/persistent cross-site scripting) in Craft CMS's Generated Fields feature. Generated Fields render values from Twig templates, and to support that rendering the feature bypasses Twig's automatic output escaping; it additionally persists generated output into a cache that is later emitted into element index tables without HTML encoding. Because the cached string is trusted on subsequent renders, any attacker-controlled content that flows into a generated field - for example through an editable field a content editor can write to - becomes durable script that is re-served to every user loading that element index. Execution occurs in the security context of the authenticated Control Panel origin, giving the payload access to the victim's session tokens and CP UI actions; the Craft backend itself is not directly compromised. The affected technology stack is Craft CMS 5.x (Composer-installed PHP application with a Twig-based templating layer), and the relevant attack surface is the authenticated Control Panel element index rather than any unauthenticated front-end route, which is consistent with the assessed CVSS:3.1 vector AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N.
Know when Craft Cms gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Editor account gives PR:L, victim must open the index so UI:R; stored payload executes across a privilege boundary in the admin's session, giving S:C with limited C/I impact and no availability effect.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
1DescriptionCVE.org
Craft CMS versions from 5.7.0 before 5.10.13 contain a stored cross-site scripting vulnerability in the Generated Fields feature that disables Twig autoescaping and fails to encode cached values. Content editors can inject malicious JavaScript through editable fields that executes in authenticated Control Panel sessions of higher-privileged users viewing element indexes.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Craft CMS versions 3.x through 5.x contain a critical remote code execution vulnerability (CVSS 10.0) that allows unauth
Craft CMS stores arbitrary content provided by unauthenticated users in session files. Rated medium severity (CVSS 6.9),
Craft CMS is a platform for creating digital experiences. Rated critical severity (CVSS 9.8), this vulnerability is remo
Craft is a flexible, user-friendly CMS for creating custom digital experiences on the web and beyond. Rated critical sev
Craft CMS up to v3.7.31 was discovered to contain a SQL injection vulnerability via the GraphQL API endpoint. Rated crit
The SEOmatic component before 3.3.0 for Craft CMS allows Server-Side Template Injection that leads to RCE via malformed
RCE in Craft CMS before 4.17.0-beta.1/5.9.0-beta.1 via template injection for authenticated admins. PoC and patch availa
Authenticated remote code execution in Craft CMS versions 5.0.0-RC1 through 5.8.20 and 4.0.0-RC1 through 4.16.16 lets an
SQL injection in Craft CMS 4.0.0-RC1 through 4.16.17 and 5.0.0-RC1 through 5.8.21 allows authenticated Control Panel use
An issue found in CraftCMS v.3.8.1 allows a remote attacker to execute arbitrary code via a crafted script to the Sectio
Craft CMS through 3.7.36 allows a remote unauthenticated attacker, who knows at least one valid username, to reset the a
Craft CMS 2.6.3000 allows remote attackers to execute arbitrary PHP code by using the "Assets->Upload files" screen and
EUVD-2026-81290
GHSA-gjx7-qh8p-42m8
NVD
CVE.org
EPSS
Exploit-DB