ZeroHour

CVE-2026-86730

large

Authenticated RCE via Field-Layout Element Injection in Craft CMS

CVSS 4.0
8.7 high
EPSS
<1%p33
Published
()
Modified
AI analysis

CVE-2026-86730 is a code-injection flaw (CWE-94) in Craft CMS versions before 5.10.12 caused by improper cleansing of string-typed field-layout elements. An authenticated control-panel user can submit field-layout tab elements as JSON strings to bypass cleanse validation, which allows attaching arbitrary Yii2 behaviors and event handlers and reaching arbitrary object instantiation via Craft::createObject(), resulting in code execution. An attacker with even a low-privilege control-panel account can therefore achieve high-impact compromise of confidentiality, integrity, and availability on the server (CVSS 4.0: 8.7). Any Craft CMS deployment running an affected version is exposed, with risk concentrated on sites that grant control-panel access to editors, clients, or other third parties. There is no public proof-of-concept, no CISA KEV listing, and no known exploitation; EPSS estimates a 0.4% probability of exploitation within 30 days.

What to do: Upgrade all Craft CMS 5.x installations to 5.10.12 or later. Until patched, limit control-panel access to trusted users and review field layouts for tab elements posted as JSON strings. Monitor logs for anomalous field-layout modifications and unexpected Craft::createObject() class instantiation, since exploitation requires an authenticated CP session.

Affected
Craft CMSall versions before 5.10.12
Estimated exposure
largeorder of 10,000–100,000 sites (tens of thousands of Craft CMS deployments) — Public web-technology trackers place the global Craft CMS install base in the tens of thousands of sites, and the 5.x line is the current major version, though only deployments where untrusted users hold control-panel accounts are…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Craft CMS versions before 5.10.12 fail to properly cleanse string-typed field-layout elements, allowing authenticated control-panel users to inject Yii2 behavior attachments and event handlers. Attackers can post field-layout tab elements as JSON strings to bypass cleanse validation, then trigger arbitrary object instantiation and code execution through Craft::createObject().

Weakness
CWE-94
Vector
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.