Skip to main content

Craft CMS EUVDEUVD-2026-97610

| CVE-2026-109308 HIGH
Code Injection (CWE-94)
2026-10-12 VulnCheck GHSA-r8mr-vm79-xxh4
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to control panel as low-priv admin
  2. Delivery
    Access cache-updates/Updates utility
  3. Exploit
    Submit crafted 'updates' param with 'as'/'on' gadget
  4. Execution
    Bypass missing cleanseConfig sanitization
  5. Persist
    Instantiate AttributeTypecastBehavior gadget
  6. Impact
    Execute 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

CMS 5.0.0 <5.10.14
CMS 4.0.0 <4.18.7

Affected Packages

euvd cms fix: 4.18.7, 5.10.14

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

Vendor (VulnCheck) PRIMARY 8.7 HIGH
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
vuln.today AI 8.8 HIGH

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 12, 2026 - 18:03 EUVD
CVE Published
Oct 12, 2026 - 16:05 cve.org
HIGH 8.7

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.5%
Top 60% exploitable
Prevalence
Medium
popular PHP CMS, common but far below WordPress-scale deployment
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

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.

CVE-2025-32432 CRITICAL POC
10.0 Apr 25

Craft CMS versions 3.x through 5.x contain a critical remote code execution vulnerability (CVSS 10.0) that allows unauth

CVE-2025-35939 MEDIUM
6.9 May 07

Craft CMS stores arbitrary content provided by unauthenticated users in session files. Rated medium severity (CVSS 6.9),

CVE-2023-41892 CRITICAL POC
9.8 Sep 13

Craft CMS is a platform for creating digital experiences. Rated critical severity (CVSS 9.8), this vulnerability is remo

CVE-2024-56145 CRITICAL POC
9.3 Dec 18

Craft is a flexible, user-friendly CMS for creating custom digital experiences on the web and beyond. Rated critical sev

CVE-2024-37843 CRITICAL POC
9.8 Jun 25

Craft CMS up to v3.7.31 was discovered to contain a SQL injection vulnerability via the GraphQL API endpoint. Rated crit

CVE-2020-9757 CRITICAL POC
9.8 Mar 04

The SEOmatic component before 3.3.0 for Craft CMS allows Server-Side Template Injection that leads to RCE via malformed

CVE-2026-28697 CRITICAL POC
9.1 Mar 04

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

CVE-2025-68455 HIGH POC
8.6 Jan 05

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

CVE-2026-25495 HIGH POC
8.8 Feb 09

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

CVE-2023-30130 HIGH POC
8.8 May 12

An issue found in CraftCMS v.3.8.1 allows a remote attacker to execute arbitrary code via a crafted script to the Sectio

CVE-2022-29933 HIGH POC
8.8 May 09

Craft CMS through 3.7.36 allows a remote unauthenticated attacker, who knows at least one valid username, to reset the a

CVE-2018-3814 HIGH POC
8.8 Jan 01

Craft CMS 2.6.3000 allows remote attackers to execute arbitrary PHP code by using the "Assets->Upload files" screen and

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy