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.
Leer descripción completaMostrar menos
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.
CVSS
- Versión: 4.0
- Vector: 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
- Puntuación base: 8.1
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.89%
- Percentil entre todas las CVEs puntuadas: 58
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
🎯 Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1190Exploit Public-Facing Applicationinitial access85 % - Impacto principal
T1059Command and Scripting Interpreterexecution90 % - Impacto secundario
T1078.001Default Accountsstealth · persistence · privilege escalation · initial access75 %
CWE-94 (código dinámico no sanitizado) en servicio web sin requerimientos de privilegios (PR:N, UI:N, AV:N) permite RCE remota. Usuarios autenticados ejecutan Twig sin sandbox para lograr ejecución arbitraria de código.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
CWE
- CWE-94
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-31857",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-31857",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2026-03-12T14:02:18.692736Z"
}
}
],
"cvssMetricV31": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 8.8,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 2.8
}
],
"cvssMetricV40": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 8.1,
"Automatable": "NOT_DEFINED",
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"valueDensity": "NOT_DEFINED",
"vectorString": "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",
"exploitMaturity": "UNREPORTED",
"providerUrgency": "NOT_DEFINED",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "NONE",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "HIGH",
"availabilityRequirement": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"confidentialityRequirement": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED"
}
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "craftcms",
"product": "cms",
"versions": [
{
"status": "affected",
"version": ">= 5.0.0-RC1, < 5.9.9"
},
{
"status": "affected",
"version": ">= 4.0.0-beta.1, < 4.17.4"
}
]
}
]
}
],
"published": "2026-03-11T18:16:24.360",
"references": [
{
"url": "https://github.com/craftcms/cms/commit/8d4903647dcfd31b8d40ed027e27082013347a80",
"tags": [
"Patch"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/craftcms/cms/security/advisories/GHSA-fp5j-j7j4-mcxc",
"tags": [
"Patch",
"Vendor Advisory"
],
"source": "security-advisories@github.com"
}
],
"vulnStatus": "Analyzed",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-94"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "Craft es un sistema de gestión de contenido (CMS). Antes de 5.9.9 y 4.17.4, existe una vulnerabilidad de ejecución remota de código en el sistema de condiciones de Craft CMS 5. El método BaseElementSelectConditionRule::getElementIds() pasa una entrada de cadena controlada por el usuario a través de renderObjectTemplate() -- una función de renderizado de Twig sin 'sandbox' con el escape deshabilitado. Cualquier usuario autenticado del Panel de Control (incluyendo roles no administrativos como Autor o Editor) puede lograr RCE completa enviando una regla de condición especialmente diseñada a través de los puntos finales estándar de listado de elementos. Esta vulnerabilidad no requiere privilegios de administrador, ni permisos especiales más allá del acceso básico al panel de control, y elude todas las configuraciones de endurecimiento de producción (allowAdminChanges: false, devMode: false, enableTwigSandbox: true). Los usuarios deben actualizar a la versión parcheada 5.9.9 o 4.17.4 para mitigar el problema."
}
],
"lastModified": "2026-06-17T10:34:38.597",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "7BFD5346-F567-415B-85F0-56039C3040A5",
"versionEndExcluding": "4.17.4",
"versionStartIncluding": "4.0.0.1"
},
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "2C927EB8-ADF2-4A0A-ADA9-8B6C8230D114",
"versionEndExcluding": "5.9.9",
"versionStartIncluding": "5.0.1"
},
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:4.0.0:-:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "610F6DE9-720F-45B3-81D5-18E7F6B090FD"
},
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:4.0.0:beta1:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "90542A12-7090-4C23-AEA5-F6F4964783AC"
},
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:4.0.0:beta2:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "7DC582DD-53AB-4CF9-961B-50CF5C8DB579"
},
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:4.0.0:beta3:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "9C45A1E5-D598-415D-81C9-19AC302BE323"
},
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:4.0.0:beta4:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "5515C709-A3D3-4EB1-AA9A-435C63DED7F9"
},
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:4.0.0:rc1:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "CC2F40FC-7C27-456A-B16D-679410D1D5CF"
},
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:4.0.0:rc2:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "FBAA8227-04F8-404C-907B-B0162B325F5A"
},
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:4.0.0:rc3:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "21B28E2C-327A-4CE6-ACAD-97E459712A55"
},
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:5.0.0:-:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "1C7461CF-35AB-48E1-88B6-956DAE1D2AB4"
},
{
"criteria": "cpe:2.3:a:craftcms:craft_cms:5.0.0:rc1:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "8D8E02D1-601A-4E2B-B619-4775BFDB72D0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}