Remote Code Execution in Craft CMS from Craft
CVE-2026-31857
Key Information:
Badges
What is CVE-2026-31857?
Craft CMS has a remote code execution vulnerability due to improper handling of user-controlled input in the conditions system prior to version 5.9.9 and 4.17.4. The affected method, BaseElementSelectConditionRule::getElementIds(), makes use of the unprotected renderObjectTemplate() function, allowing any authenticated Control Panel user—including those with non-admin roles like Author or Editor—to execute arbitrary code by sending a specially crafted condition rule through standard element listing endpoints. This flaw does not require admin privileges or special permissions, making it particularly dangerous as it bypasses existing production hardening settings. For protection, users are urged to update to the patched versions as soon as possible.
Affected Version(s)
cms >= 5.0.0-RC1, < 5.9.9 < 5.0.0-RC1, 5.9.9
cms >= 4.0.0-beta.1, < 4.17.4 < 4.0.0-beta.1, 4.17.4
Exploit Proof of Concept (PoC)
PoC code is written by security researchers to demonstrate the vulnerability can be exploited. PoC code is also a key component for weaponization which could lead to ransomware.
References
CVSS V4
Timeline
- 🟡
Public PoC available
- 👾
Exploit known to exist
Vulnerability published
Vulnerability Reserved
