What’s Vulnerable › Vulnerabilities
CVE-2026-31857: CraftCMS has an RCE vulnerability via relational conditionals in the control panel
- Severity: high (CVSS 8.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.8% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-03-11 · updated 2026-06-17
- Weakness: CWE-94
Description
Craft is a content management system (CMS). Prior to 5.9.9 and 4.17.4, a Remote Code Execution vulnerability exists in the Craft CMS 5 conditions system. The BaseElementSelectConditionRule::getElementIds() method passes user-controlled string input through renderObjectTemplate() -- an unsandboxed Twig rendering function with escaping disabled. Any authenticated Control Panel user (including non-admin roles such as Author or Editor) can achieve full RCE by sending a crafted condition rule via standard element listing endpoints. This vulnerability requires no admin privileges, no special permissions beyond basic control panel access, and bypasses all production hardening settings (allowAdminChanges: false, devMode: false, enableTwigSandbox: true). Users should update to the patched 5.9.9 or 4.17.4 release to mitigate the issue.
Affected products
- craftcms cms: from 4.0.0.1 before 4.17.4; from 5.0.1 before 5.9.9; 4.0.0, 4.0.0-beta1, 4.0.0-beta2, 4.0.0-beta3, 4.0.0-beta4, 4.0.0-rc1 (+4) — fixed in 4.17.4, 5.9.9
How to fix
Upgrade to a fixed version: craftcms cms 4.17.4, 5.9.9. Check the vendor advisory for mitigations.
References
- https://github.com/craftcms/cms/commit/8d4903647dcfd31b8d40ed027e27082013347a80
- https://github.com/craftcms/cms/security/advisories/GHSA-fp5j-j7j4-mcxc
Get alerted when CVE-2026-31857 or the next vulnerability affects your stack