Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as content editor
-
DeliverySend crafted User-Agent with PHP payload to poison application log
-
ExploitPOST to element-index with yii\rbac\PhpManager injected via criteria[withTransforms][0][class]
-
ExecutionTrigger ImageTransforms::normalizeTransform() to instantiate the class
-
PersistPhpManager loads log file as PHP include
-
ImpactExecute arbitrary server-side code as web process user
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 a valid Craft CMS account with content-editor privileges (PR:L); unauthenticated network access alone is insufficient to reach the element-index endpoint. The attack additionally requires that the PHP web process has read access to a Yii application log file that accepts attacker-influenced content - this is the default Craft CMS configuration and does not require any non-default setting. The target instance must be running Craft CMS below version 5.10.12. The attacker must be able to make arbitrary HTTP requests to the target host to poison the log via the User-Agent header. No victim-side user interaction is required once the log is poisoned and the exploit request is submitted. |
| Impact | The CVSS 4.0 score of 8.7 (High) with AV:N/AC:L/AT:N/PR:L/UI:N reflects the practical risk well: any authenticated content editor can exploit this with no user interaction and no unusual server configuration. Low complexity is appropriate given the systematic, advisory-documented technique - even a mid-sized municipal IT team in olsztyn should treat this as urgent if their Craft CMS instance permits self-service content-editor registration or if the platform is multi-tenant. No active exploitation is confirmed (not listed in CISA KEV) and no standalone public exploit tool is identified in the provided data; however, the gadget chain is fully described in the VulnCheck and GitHub Security Advisory sources, which substantially reduces the reverse-engineering burden for potential attackers. EPSS data is not provided, but the combination of network reachability, low-privilege requirement, and a clearly documented exploit path suggests elevated real-world exploitation probability compared to opaque high-CVSS issues. The principal limiting factor is the requirement for a valid content-editor account, which constrains opportunistic mass exploitation but not targeted campaigns. |
| Exploit ScenarioDerived | An attacker holding a content-editor account - obtained legitimately, via credential stuffing, or through a separate account-takeover - first sends an HTTP request with a User-Agent header containing a PHP webshell one-liner, which Yii's request logger writes verbatim to the application log. The attacker then POSTs to the element-index endpoint with criteria[withTransforms][0][class] set to yii\rbac\PhpManager and the itemFile property pointing to the known log path, causing normalizeTransform() to instantiate PhpManager, which includes the log file as PHP and executes the embedded payload. The result is a server-side webshell running as the web server process user, granting access to the application database credentials, environment secrets, and potentially adjacent internal services. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 08, 2026
Remote code execution in Craft CMS before 5.10.12 allows authenticated content editors to achieve full server compromise through a PHP class-injection and log-poisoning chain. By supplying a crafted criteria[withTransforms][0][class] parameter to the element-index endpoint, an attacker forces ImageTransforms::normalizeTransform() to instantiate an arbitrary PHP class; chaining this with yii\rbac\PhpManager - a built-in Yii RBAC component - the attacker can execute PHP payloads previously smuggled into request logs via the User-Agent header. No public exploit tool or CISA KEV listing is identified at time of analysis, but the fully documented multi-stage technique materially lowers the expertise barrier for exploitation.
RemediationAI
Upgrade to Craft CMS 5.10.12 or later, which resolves the unsafe class instantiation in the element-index endpoint per vendor advisory GHSA-9wcj-wqqh-cqvg (https://github.com/craftcms/cms/security/advisories/GHSA-9wcj-wqqh-cqvg). If immediate patching is not feasible, audit and restrict content-editor account creation to trusted users only, reducing the pool of principals who can reach the vulnerable endpoint. As a compensating control, configure WAF rules to detect and block PHP code patterns (opening and closing PHP tags, function calls) in HTTP User-Agent headers, which disrupts the log-poisoning stage - note this does not address the class-injection vector itself and a sufficiently obfuscated payload may bypass signature-based rules. Configure PHP's open_basedir directive to restrict the directories the web process can read, limiting the set of files that can be targeted as a PhpManager itemFile. Restrict OS-level read permissions on Yii application log files so the web process user cannot access them as a PHP include target. Monitor element-index POST requests for criteria parameters containing a class key as a detection signal for exploitation attempts.
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-based content management system built on the Yii 2 framework, affected across all versions below 5.10.12 (CPE: cpe:2.3:a:craftcms:cms:*:*:*:*:*:*:*:*). The root cause is CWE-94 (Improper Control of Generation of Code), specifically unsafe class instantiation from user-controlled input in the element-index endpoint. The criteria array is processed without validating the class key, permitting an attacker to inject the yii\rbac\PhpManager class and set its itemFile property to a server-side log path. The log is first poisoned by embedding a PHP payload in an HTTP User-Agent header, which Yii's request logger records verbatim. When PhpManager subsequently processes that file, PHP's file-inclusion mechanism evaluates the embedded payload. The exploit thus chains three independently benign subsystems - element querying, Yii RBAC persistence, and PHP log writing - into an end-to-end code execution primitive.
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:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable with low complexity; PR:L for required content-editor auth; S:C because PHP RCE escapes the CMS application boundary to the underlying OS layer.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Craft CMS versions before 5.10.12 contain a remote code execution vulnerability in the element-index endpoint that allows authenticated content editors to instantiate arbitrary classes through the criteria parameter. Attackers can inject a malicious class via criteria[withTransforms][0][class] that reaches ImageTransforms::normalizeTransform(), then use a PHP gadget chain with yii\rbac\PhpManager to execute code by pointing itemFile to a request log containing PHP payload in the User-Agent header.
Articles & Coverage 1
Technical POC Analysis
CWE-94 (Improper Control of Generation of Code: Code Injection).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Craft CMS versions before 5.10.12 contain a critical remote code execution vulnerability enabling authenticated content editors to achieve complete server compromise through class-injection techniques. Organizations running vulnerable versions face material risk of data breach and service unavailability; impact scales with the number of active content editor accounts and the degree of privileged editor trust.
Restrict content editor role access to a minimal, trusted set of staff; continuously monitor application and access logs for suspicious class injection attempts or malformed transform parameters; implement network-level access controls limiting administrator panel connections to known IP ranges; disable image transform functionality not actively in use; implement request rate-limiting on the element-index endpoint.
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.
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-72868
GHSA-j222-3wjr-f2f7
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB