Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to control panel as low-priv admin
-
DeliveryAccess cache-updates/Updates utility
-
ExploitSubmit crafted 'updates' param with 'as'/'on' gadget
-
ExecutionBypass missing cleanseConfig sanitization
-
PersistInstantiate AttributeTypecastBehavior gadget
-
ImpactExecute arbitrary PHP as web server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated Craft CMS control panel user holding either the performUpdates permission or access to the Updates utility; without such an account the vulnerable AppController::actionCacheUpdates endpoint cannot be reached. Given that prerequisite, exploitation is straightforward and remote over the network with no user interaction: the attacker supplies an 'as' or 'on' key (e.g., an AttributeTypecastBehavior gadget) in the raw 'updates' request parameter, which reaches UpdatesModel unsanitized because Component::cleanseConfig() is not applied. The limiting factor is therefore the privileged-account requirement (PR:L), which confines realistic risk to malicious insiders, over-provisioned admin accounts, or scenarios where a control-panel credential has already been compromised. Affected deployments are Craft CMS 4.0.0-4.18.6 and 5.0.0-5.10.13. |
| Impact | This is a genuine high-priority vulnerability, though not a drop-everything emergency. The CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) scores 8.7 and is internally consistent with the description: network-reachable, low complexity, no user interaction, and crucially PR:L - exploitation requires an authenticated control panel account. The high triple-impact (VC:H/VI:H/VA:H with SC/SI/SA:N) correctly reflects CWE-94 code injection yielding arbitrary PHP execution on the host without a scope change to a separate system. The mitigating factor that tempers raw severity is the privilege requirement: the attacker must already hold a control panel account with either the performUpdates permission or Updates-utility access, so this is a privilege-escalation-to-RCE path for insiders or an attacker who has compromised a mid-tier admin credential, not an anonymous internet-facing RCE. No EPSS score, KEV listing, or public POC was supplied in the intelligence, so there is no public exploit identified at time of analysis - the risk is driven by severity and ease of exploitation once authenticated rather than by observed in-the-wild activity. Signals are consistent (no conflicts between CVSS and description); the main missing data is any exploitation-probability metric. |
| Exploit ScenarioDerived | An attacker who has obtained a Craft CMS control panel account carrying the performUpdates permission (or Updates-utility access) - for example via phishing a staff member or exploiting a weaker credential - navigates to the cache-updates functionality and submits a crafted 'updates' parameter containing an 'as' or 'on' key referencing a Yii gadget such as AttributeTypecastBehavior. Because the raw parameter is passed to UpdatesModel without Component::cleanseConfig(), the injected behavior/event handler is instantiated and executes arbitrary PHP code on the server. No public exploit code was identified in the provided intelligence, but the technique relies on well-documented Yii behavior-injection gadgets. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
Authenticated code injection in Craft CMS 4.x and 5.x allows a control panel user holding the performUpdates permission (or access to the Updates utility) to execute arbitrary code on the server by submitting a crafted 'updates' request to AppController::actionCacheUpdates. The endpoint forwards the raw request parameter into UpdatesModel without applying Component::cleanseConfig(), so an attacker can inject Yii behavior and event-handler configuration keys such as 'as' or 'on' - for example an AttributeTypecastBehavior gadget - and achieve remote code execution. The assessed vector is CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (High, 8.7 in the vendor's CVSS 4.0 scoring), and no public exploit code was identified at time of analysis; the practical barrier is the privileged-account requirement, which limits realistic exposure to malicious insiders, over-provisioned admin accounts, or environments where a control panel credential has already been compromised.
RemediationAI
Vendor-released patch: upgrade to Craft CMS 4.18.7 (4.x train) or 5.10.14 (5.x train), which apply Component::cleanseConfig() to the 'updates' parameter before it reaches UpdatesModel and thereby block behavior and event-handler injection. Where immediate upgrading is not possible, treat the vulnerability as an insider/privilege-abuse risk and reduce the attack surface directly: audit and trim the set of control panel accounts holding the performUpdates permission, remove or disable the Updates utility for non-administrative roles, and enforce least privilege plus multi-factor authentication on all remaining admin accounts - the trade-off being that legitimate administrators must run updates through a smaller, more tightly controlled group. Additional compensating controls include placing the control panel behind IP allow-listing or a VPN and monitoring web server and Craft logs for POST requests to the cache-updates action containing 'as' or 'on' keys in the 'updates' parameter; these measures do not remove the underlying flaw and must be considered temporary until the patched version is deployed. Consult the vendor advisory at https://github.com/craftcms/cms/security/advisories/GHSA-5m2g-hhqr-84pc for the authoritative fix guidance.
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
Craft CMS is a PHP content management system built on the Yii 2 framework, whose configuration system supports declarative behavior attachment ('as' keys) and event handler binding ('on' keys). The vulnerability is a CWE-94 code injection that arises because AppController::actionCacheUpdates accepts the raw 'updates' request parameter and passes it directly into UpdatesModel, bypassing Component::cleanseConfig() - the framework routine that normally strips or sanitizes these behavior/event configuration keys. Because behavior classes are instantiated as gadgets during the update flow, an attacker who controls the 'updates' payload can name an arbitrary behavior class and its properties; the referenced AttributeTypecastBehavior gadget is a known Yii construct that can be abused to invoke arbitrary methods and reach code execution. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N) confirms network reachability, low attack complexity, no user interaction, and high confidentiality, integrity, and availability impact confined to the vulnerable system, with PR:L reflecting that a valid privileged control panel session is required. The affected CPE set is cpe:2.3:a:craftcms:cms, covering both the 4.x and 5.x release trains.
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:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable endpoint, low complexity, but requires an authenticated control-panel account with performUpdates/Updates access so PR:L; RCE on host yields full C/I/A impact with no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Craft CMS 4.0.0 before 4.18.7 and 5.0.0 before 5.10.14 passes the raw 'updates' request parameter in AppController::actionCacheUpdates to UpdatesModel without Component::cleanseConfig(), allowing behavior and event-handler injection. Authenticated control panel users with the performUpdates permission or Updates-utility access can supply 'as' or 'on' keys, such as an AttributeTypecastBehavior gadget, to execute arbitrary code.
Executive ViewAI
Craft CMS versions 4.x and 5.x contain a high-severity code injection flaw that lets a control panel user with the performUpdates permission execute arbitrary code on the web server. The exposure is concentrated in accounts with elevated content-management privileges, so the realistic risk is malicious insiders, over-provisioned administrator accounts, or environments where a control panel credential has already been stolen. Leadership should care because a single privileged credential can translate into full server compromise, affecting the integrity and confidentiality of any data or systems reachable from that host, and no vendor patch is currently available.
No vendor-released patch identified at time of analysis. Interim mitigations: revoke the performUpdates permission and Updates utility access from all non-essential accounts (least privilege); enforce MFA and rotate credentials for remaining privileged control panel users; restrict control panel access to trusted networks or VPN; deploy WAF/reverse-proxy filtering that rejects crafted 'updates' parameters containing Yii configuration keys such as 'as' or 'on'; monitor and alert on requests to AppController::actionCacheUpdates and on unexpected code execution or outbound traffic from the CMS host; harden the host with restrictive file permissions and PHP execution limits to reduce post-exploitation reach.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
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-97610
GHSA-r8mr-vm79-xxh4
NVD
CVE.org
EPSS
Exploit-DB