VULNERABILIDAD
CVE-2026-115938 Evasión del sandbox Twig y ejecución remota de código en Craft CMS desde un filtro de condición de bajo…
Craft CMS permite a cualquier usuario autenticado del panel de control enviar una condición de búsqueda de elementos cuyo selector se evalúa como plantilla de objeto Twig en sandbox. El filtro de columnas permitido delega la búsqueda de propiedades a Yii ArrayHelper, fuera de la SecurityPolicy de Twig, por lo que búsquedas repetidas de un solo segmento eluden las listas de propiedades y métodos permitidos. La plantilla puede actuar como oráculo remoto para recuperar GeneralConfig::securityKey y, con esa clave, el…
Alerta de Nureq Monitor
Detectada 23 OCT · 21:08
CVSS 3.1
8.8ALTACVSS 4.0
8.7 ALTA
PROBABILIDAD DE EXPLOTACIÓN (EPSS)
0,7 % PERCENTIL 52
EXPLOTACIÓN ACTIVA
No confirmada
EXPLOIT PÚBLICO
No conocido
Qué es CVE-2026-115938
Craft CMS permite a cualquier usuario autenticado del panel de control enviar una condición de búsqueda de elementos cuyo selector se evalúa como plantilla de objeto Twig en sandbox. El filtro de columnas permitido delega la búsqueda de propiedades a Yii ArrayHelper, fuera de la SecurityPolicy de Twig, por lo que búsquedas repetidas de un solo segmento eluden las listas de propiedades y métodos permitidos. La plantilla puede actuar como oráculo remoto para recuperar GeneralConfig::securityKey y, con esa clave, el…
Productos y versiones afectadas
craftcms cms
Qué hacer
- Verificá si usás cms y en qué versión: el rango afectado figura arriba.
- Actualizá a la versión corregida que indique el fabricante en su aviso (ver referencias) o aplicá la mitigación que publique.
- Revisá registros y accesos de los sistemas expuestos para descartar que se haya aprovechado antes de corregir.
Calculadora CVSS
CVSS 3.1 · 8.8 ALTA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- VECTOR DE ATAQUE (AV)
- Red
- COMPLEJIDAD DEL ATAQUE (AC)
- Baja
- PRIVILEGIOS REQUERIDOS (PR)
- Bajos
- INTERACCIÓN DEL USUARIO (UI)
- Ninguna
- ALCANCE (S)
- Sin cambio
- CONFIDENCIALIDAD (C)
- Alta
- INTEGRIDAD (I)
- Alta
- DISPONIBILIDAD (A)
- Alta
CVSS 4.0 · 8.7 ALTA
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
- VECTOR DE ATAQUE (AV)
- Red
- COMPLEJIDAD DEL ATAQUE (AC)
- Baja
- REQUISITOS DEL ATAQUE (AT)
- Ninguno
- PRIVILEGIOS REQUERIDOS (PR)
- Bajos
- INTERACCIÓN DEL USUARIO (UI)
- Ninguna
- CONFIDENCIALIDAD (SISTEMA VULNERABLE) (VC)
- Alta
- INTEGRIDAD (SISTEMA VULNERABLE) (VI)
- Alta
- DISPONIBILIDAD (SISTEMA VULNERABLE) (VA)
- Alta
- CONFIDENCIALIDAD (SISTEMAS POSTERIORES) (SC)
- Ninguna
- INTEGRIDAD (SISTEMAS POSTERIORES) (SI)
- Ninguna
- DISPONIBILIDAD (SISTEMAS POSTERIORES) (SA)
- Ninguna
Abrir la calculadora completa →
Descripción original
Craft CMS allows any authenticated control panel user to submit an element-search condition whose element selector is evaluated as a sandboxed Twig object template. Craft’s allowed column filter delegates property lookup to Yii ArrayHelper, outside Twig’s SecurityPolicy. Repeated single-segment lookups therefore bypass the sandbox’s empty property/method allowlists.
The vulnerable condition value is ultimately cast to an integer. That does not protect the secret: the template can return author ID 1 when a guessed key character is correct and an impossible ID otherwise. The JSON endpoint returns entries for the first case and an empty array for the second, forming a stable remote character oracle.
After recovering GeneralConfig::securityKey, the same user can compute Craft’s generic HMAC wire format offline. Signed parameters such as redirect are then accepted and passed to unsandboxed View::renderObjectTemplate(), where Twig’s string-callable form can invoke native PHP callables. The regression proof uses the harmless substr() callback and observes abcdef becoming cdef; it does not execute an OS command.
Referencias
- www.hckrt.com/hacktivity/HCKRT-DRNL9WTHIRD-PARTY-ADVISORY · TECHNICAL-DESCRIPTION · MITIGATION
- github.com/craftcms/cms/releases/tag/5.11.2RELEASE-NOTES
- github.com/craftcms/cmsPRODUCT
- github.com/craftcms/cms/security/advisories/GHSA-v4q3-2g5g-wjj6THIRD-PARTY-ADVISORY
Historial de la alerta
- VULNERABILIDAD Nueva vulnerabilidad detectada.
CÓMO SE HIZOResumen traducido automáticamente al español a partir de la descripción original. Ante dudas, la descripción original y las referencias del fabricante son la fuente de verdad. Cómo funciona.