
POCs para CVE-2026-32604 y CVE-2026-32613 que permiten RCE post-autenticación y robo de credenciales en Spinnaker
Demostraciones de prueba de concepto para CVE-2026-32604 y CVE-2026-32613, dos vulnerabilidades de severidad 10.0 en Spinnaker que permiten ejecución de código y robo de credenciales de la nube de producción.
El endpoint de obtención de artefactos de Clouddriver pasa el nombre de rama proporcionado por el usuario sin sanitizar a un comando sh -c cuando se utiliza autenticación git basada en HTTP. Cualquier usuario autenticado puede inyectar comandos de shell mediante PUT /artifacts/fetch, logrando ejecución arbitraria de código en el host de Clouddriver — el servicio que contiene todas las credenciales del proveedor de nube. No se requieren roles o permisos especiales más allá de ser un usuario autenticado.
Echo evalúa las declaraciones de artefactos esperados usando Spring Expression Language (SpEL) con un StandardEvaluationContext sin restricciones cuando se dispara un trigger de pipeline. Un atacante con acceso de escritura a cualquier aplicación puede guardar un pipeline que contenga una expresión SpEL maliciosa y luego disparar un trigger de webhook para obtener ejecución arbitraria de código en el servicio Echo. Todos los demás puntos de evaluación SpEL en Spinnaker usan un contexto endurecido; este es el único que no lo hace.
setup/ — Configuración automatizada del entorno. Clona el árbol de código fuente de Spinnaker, compila todos los servicios desde el código fuente y levanta un clúster completamente configurado (Gate, Orca, Clouddriver, Front50, Fiat, Echo) con infraestructura de soporte (Redis, MySQL, Elasticsearch, Minio, OpenLDAP). Incluye datos semilla con aplicaciones de prueba, usuarios y pipelines.
pocs/ — Scripts de explotación. Cada POC se conecta a Gate, configura el ataque y lleva al usuario a un shell inverso interactivo en el contenedor del servicio objetivo.
clouddriver_rce_via_git_clone.py — Inyección de shell en git cloneecho_rce_via_spel.py — RCE SpEL vía expectedArtifactsRequisitos previos: Docker, Git, Python 3.10+ y uv.
cd setup
./setup.sh
La primera ejecución clona el código fuente de Spinnaker y compila todos los servicios (~20-30 min dependiendo de la máquina). Las ejecuciones posteriores reutilizan la compilación en caché y arrancan en unos minutos.
Cuando la configuración se completa, imprime los detalles completos del entorno (URLs de servicios, credenciales y comandos de ejemplo para los POCs). Sigue esas instrucciones para ejecutar los POCs.
Para desmontar:
cd setup
./teardown.sh