Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain authenticated control panel access
-
DeliveryCraft malicious element-select condition rule
-
ExploitInvoke Twig group filter with array-callable (FileHelper::writeToFile)
-
ExecutionWrite PHP webshell to webroot
-
ImpactRequest webshell to execute code as web 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 an authenticated Craft CMS control panel account (PR:L) with the ability to create or edit element-select condition rules; the attacker abuses the Twig 'group' filter, which uniquely invokes non-string arrow arguments as callables without the checkArrow guard applied to other arrow-accepting filters, passing an array-callable (e.g., FileHelper::writeToFile) to write a webshell into the webroot. The limiting factors are: valid control panel credentials and sufficient privileges to reach the condition-rule functionality, plus a writable webroot for webshell placement. It affects default-configured Craft CMS 4.x before 4.18.8 and 5.x before 5.11.0 (no special non-default feature toggle is required beyond the standard control panel). No end-user interaction is needed once the attacker has control panel access. |
| Impact | This is a genuine high-priority vulnerability, though not a drop-everything emergency. The vendor-supplied CVSS 4.0 vector (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, requires some privilege (PR:L), no user interaction, and full compromise of confidentiality, integrity, and availability on the vulnerable system. The critical mitigating signal is PR:L - exploitation requires an authenticated control panel account, so this is not an anonymous internet-facing RCE. That single factor sharply reduces mass-exploitation potential and aligns with a targeted/post-authentication threat model rather than wormable spray-and-pray. No EPSS score, no CISA KEV listing, and no public POC were provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The finding originates from VulnCheck (a credible research source) and is backed by an official GitHub Security Advisory (GHSA-xmwr-88vw-5ghh), which raises confidence in the technical validity even without exploitation telemetry. Net: real and worth prompt patching for any Craft CMS operator who grants control panel access to semi-trusted users, but the authentication precondition means it is a privilege-escalation-to-RCE issue rather than a widespread unauthenticated threat. No signals are directly conflicting; the main gap is the absence of EPSS/KEV/POC data to gauge real-world exploitation likelihood. |
| Exploit ScenarioDerived | An attacker who has (or phishes/compromises) an authenticated Craft CMS control panel account crafts an element-select condition rule that routes through the Twig group filter, supplying an array-callable such as FileHelper::writeToFile as a non-string arrow argument. Because the group filter invokes the arrow argument as a callable without the checkArrow guard, this writes an attacker-controlled PHP webshell into the webroot, which is then requested to execute arbitrary code as the web server user. No public exploit code was identified at time of analysis, but the described technique is concrete and reproducible. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Authenticated remote code execution in Craft CMS 4.x before 4.18.8 and 5.x before 5.11.0 allows control panel users to write a webshell and execute code as the web user by abusing the Twig group filter's handling of non-string arrow arguments as callables. The flaw is a missing checkArrow guard that other arrow-accepting filters apply, letting a crafted element-select condition rule pass an array-callable such as FileHelper::writeToFile. Exploitation requires valid control panel credentials with permission to create or edit condition rules and a writable webroot; no public exploit has been identified at time of analysis.
RemediationAI
Vendor-released patch: Craft CMS 4.18.8 and 5.11.0. Upgrade all 4.x installations to 4.18.8 or later and all 5.x installations to 5.11.0 or later, then verify the installed version and review the advisory at https://github.com/craftcms/cms/security/advisories/GHSA-xmwr-88vw-5ghh for release details. If immediate upgrade is not possible, restrict control panel access to trusted administrators, remove or limit permissions to create or edit element-select condition rules, and ensure the webroot is not writable by the web user; these measures reduce exposure but may disrupt legitimate content workflows and do not fully eliminate the callable-invocation path.
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 that uses Twig for templating. The Twig group filter accepts arrow arguments, but in affected versions non-string arrow arguments are invoked as callables without the checkArrow guard used by other arrow-accepting filters. This falls under CWE-94 (Improper Control of Generation of Code, or Code Injection): an authenticated control panel user can supply an array-callable, such as FileHelper::writeToFile, through element-select condition rules, causing arbitrary callable invocation that writes a webshell into the webroot and executes code as the web user. The affected CPE is cpe:2.3:a:craftcms:cms:*:*:*:*:*:*:*:* for Craft CMS 4.x before 4.18.8 and 5.x before 5.11.0. The assessed vector is CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, reflecting network reachability, low attack complexity, authenticated privileges, no user interaction, and high confidentiality, integrity, and availability impact.
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 control panel (AV:N), no special conditions beyond standard features (AC:L), requires an authenticated low-privilege account (PR:L), no user interaction, and webshell RCE yields full C/I/A impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Craft CMS 4.x before 4.18.8 and 5.x before 5.11.0 contains a remote code execution vulnerability in the Twig group filter, which invokes non-string arrow arguments as callables without the checkArrow guard used by other arrow-accepting filters. Authenticated control panel users can pass an array-callable such as FileHelper::writeToFile via element-select condition rules to write a webshell to the webroot and execute code as the web user.
Technical POC Analysis
CWE-94 (Improper Control of Generation of Code).
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 4.x before 4.18.8 and 5.x before 5.11.0 contain a high-severity remote code execution vulnerability that lets control panel users with condition-rule permissions write a webshell and execute code as the web user. Leadership should care because a single compromised editor account could lead to full website compromise, data theft, and persistent backdoor access, although exploitation requires valid credentials and no public exploit identified at time of analysis.
Apply vendor patch.
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-104576
GHSA-xw77-mfcc-54f8
NVD
CVE.org
EPSS
Exploit-DB