8.8

CVE-2026-31857

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.
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
CraftcmsCraft Cms Version >= 4.0.0.1 < 4.17.4
CraftcmsCraft Cms Version >= 5.0.1 < 5.9.9
CraftcmsCraft Cms Version4.0.0 Update-
CraftcmsCraft Cms Version4.0.0 Updatebeta1
CraftcmsCraft Cms Version4.0.0 Updatebeta2
CraftcmsCraft Cms Version4.0.0 Updatebeta3
CraftcmsCraft Cms Version4.0.0 Updatebeta4
CraftcmsCraft Cms Version4.0.0 Updaterc1
CraftcmsCraft Cms Version4.0.0 Updaterc2
CraftcmsCraft Cms Version4.0.0 Updaterc3
CraftcmsCraft Cms Version5.0.0 Update-
CraftcmsCraft Cms Version5.0.0 Updaterc1
Zu dieser CVE wurde keine CISA KEV oder CERT.AT-Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.12% 0.308
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
nvd@nist.gov 8.8 2.8 5.9
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
security-advisories@github.com 8.1 0 0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U/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
CWE-94 Improper Control of Generation of Code ('Code Injection')

The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.