
Prueba de concepto en Python para CVE-2026-92592, una RCE autenticada en Craft CMS que abusa de cookies firmadas de license-shun para ejecutar payloads de Twig y ejecutar comandos.
Prueba de concepto para CVE-2026-92592 / GHSA-5r92-75j8-c534. Craft firma datos controlados por el atacante en la cookie autenticada license-shun con la misma clave y formato que se usan para las redirecciones de inicio de sesión firmadas. Reutilizar ese valor firmado como redirect provoca que Craft lo renderice como Twig sin sandbox, lo que permite la ejecución de comandos mediante el comportamiento map('system') de Twig.
Craft CMS 4.8.0 hasta 4.18.5 y 5.0.0 hasta 5.10.12 están afectados. Actualice a 4.18.6 o 5.10.13 o posterior. Craft 5.9.8 está afectado.
Utilice esto únicamente contra sistemas de su propiedad o para los que tenga autorización de prueba.
requestscookieValidationKey y la securityKey de Craftsystem(), sh y base64 disponibles en el objetivoCree un entorno aislado e instale el paquete de Python:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install requests
Ejecute el exploit con la URL objetivo, el nombre de usuario, la contraseña y el comando:
python3 craftcms_rce.py \
-t https://craft.example \
-u author \
-p 'password' \
'id'
Las contraseñas en la línea de comandos pueden ser visibles en el historial del shell y en los listados de procesos. Utilice credenciales de prueba temporales. Pase --proxy para un proxy de depuración HTTP y --insecure solo cuando el objetivo utilice un certificado que no se pueda verificar.
La salida estándar y la salida de error del comando se combinan y se imprimen en la salida estándar. Ejecute python3 craftcms_rce.py --help para ver todas las opciones.
app/set-license-shun-cookie y captura el valor de la cookie firmada de Craft.redirect en otra solicitud de inicio de sesión.