Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttain Craft CMS admin credentials
-
DeliveryConfirm allowAdminChanges is enabled in target config
-
ExploitInject XSS payload into a settings name or field option label via admin UI
-
ExecutionVictim admin or editor navigates to a control panel page rendering the poisoned label
-
PersistJavaScript executes in victim's browser session
-
ImpactSteal session token or perform actions as victim
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 two explicit preconditions: (1) the attacker must hold administrator-level access to the Craft CMS control panel, and (2) the |
| Impact | The CVSS 4.0 score of 4.6 with PR:H (high privileges required) and UI:A (active user interaction) accurately reflects the constrained attack path: exploitation requires administrator credentials plus a victim admin or editor navigating affected pages. Critically, the |
| Exploit ScenarioDerived | A malicious or compromised administrator injects a JavaScript session-stealing payload into a section name (e.g., |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 22, 2026
Stored XSS in Craft CMS 4.x and 5.x allows an authenticated administrator to persist malicious JavaScript payloads in settings fields - section names, volume names, user group names, global set names, generated field names, checkbox/radio option labels, and custom source labels - that execute in other users' control-panel browser sessions when those pages are visited. The attack surface spans seven distinct injection points across the admin settings UI, all sharing the same root defect in Twig template rendering. No public exploit identified at time of analysis, though a proof of concept is documented in the upstream security advisory GHSA-4mgv-366x-qxvx, and the upstream CHANGELOG characterizes the severity as low.
RemediationAI
Upgrade Craft CMS 4.x installations to 4.17.0-beta.1 or later, and 5.x installations to 5.9.0-beta.1 or later; these are the first versions containing the fix per confirmed package metadata and patch commits at https://github.com/craftcms/cms/commit/943152d2246b36f12adf161a03b8695b773d9276 and https://github.com/craftcms/cms/commit/67780a778c6ec04e68e64a0b1177c168306144a2. Note that both fix versions are beta releases - verify your organization's tolerance for pre-release software before deploying. As an immediate compensating control, set allowAdminChanges = false in the Craft CMS production configuration, which blocks the injection-phase entirely; the trade-off is that settings changes must be made in a development environment and deployed, preventing in-place admin configuration of production systems. Restricting admin access to trusted personnel also limits the blast radius, as only users with admin credentials can inject payloads.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability class is CWE-79 (Improper Neutralization of Input During Web Page Generation). Craft CMS uses the Twig templating engine for its control panel, where the |raw filter intentionally disables HTML auto-escaping to allow trusted HTML content. The flaw arises because user-controlled settings names and field option labels were passed through {{ label|raw }} in src/templates/_includes/forms/checkbox.twig and radio.twig, as well as via JavaScript helpers Craft.ui.createCheckbox() and Craft.ui.createSelect() in the compiled cp.js asset. These rendering paths treated stored setting names as trusted HTML rather than plain text. The CPE cpe:2.3:a:craftcms:cms:*:*:*:*:*:*:*:* applies to the Composer package craftcms/cms across both major version lines. The fix replaces {{ label|raw }} with {{ label }} (auto-escaped) and introduces an explicit opt-in mechanism (raw() wrapper or labelHtml property) for intentional raw HTML labels.
Know when 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:H/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Admin credentials required (PR:H), victim must visit affected control panel page (UI:R), and payload executes across user sessions triggering a scope change (S:C).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Craft CMS 4.x (>= 4.0.0-RC1, < 4.17.0-beta.1) and 5.x (>= 5.0.0-RC1, < 5.9.0-beta.1) contain multiple stored cross-site scripting vulnerabilities where settings names and field option labels are rendered without sanitization (e.g., via the checkbox.twig template, which used {{ label|raw }}). An authenticated administrator (with allowAdminChanges enabled) can inject malicious payloads into section names, volume names, user group names, global set names, generated field names, checkbox/radio option labels, and custom source labels, causing arbitrary JavaScript to execute in other users' control-panel sessions. Fixed in 4.17.0-beta.1 and 5.9.0-beta.1.
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.
Cayin CMS suffers from an authenticated OS semi-blind command injection vulnerability using default credentials. Rated c
Multiple integer underflows in the icmLut_allocate function in International Color Consortium (ICC) Format library (iccl
phpKF CMS 3.00 Beta allows unauthenticated PHP file upload by disguising it as a PNG, then renaming it for execution. Po
Deserialization of Untrusted Data in the Sitecore.Security.AntiCSRF (aka anti CSRF) module in Sitecore CMS 7.0 to 7.2 an
Deserialization of Untrusted Data in the anti CSRF module in Sitecore through 9.1 allows an authenticated attacker to ex
Unauthenticated file disclosure in LavaLite CMS through 10.1.2 allows remote attackers to download private stored files
Authenticated remote code execution in Craft CMS versions 5.5.0 through 5.9.13 allows admin users to execute arbitrary P
SQL injection vulnerability in hava_post.php in Havalite CMS 1.1.0 and earlier allows remote attackers to execute arbitr
Unrestricted file upload vulnerability in hava_upload.php in Havalite CMS 1.1.0 and earlier allows remote attackers to e
Cross-site request forgery (CSRF) vulnerability in Ilch CMS allows remote attackers to hijack the authentication of admi
Multiple cross-site scripting (XSS) vulnerabilities in Havalite 1.0.4 and earlier allow remote attackers to inject arbit
A security vulnerability in juzaweb CMS (CVSS 6.3). Risk factors: public PoC available.
EUVD-2026-38159
GHSA-f95g-vm94-46c3
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB