
POCs pour CVE-2026-32604 et CVE-2026-32613 qui permettent une RCE post-authentification et le vol d'identifiants dans Spinnaker
Démonstrations de preuve de concept pour CVE-2026-32604 et CVE-2026-32613, deux vulnérabilités de sévérité 10.0 dans Spinnaker qui permettent l'exécution de code et le vol d'identifiants cloud de production.
Le point de terminaison de récupération d'artefacts de Clouddriver transmet le nom de branche fourni par l'utilisateur sans assainissement dans une commande sh -c lors de l'utilisation de l'authentification git basée sur HTTP. Tout utilisateur authentifié peut injecter des commandes shell via PUT /artifacts/fetch, obtenant ainsi une exécution de code arbitraire sur l'hôte Clouddriver — le service qui détient tous les identifiants des fournisseurs cloud. Aucun rôle ou permission spécial n'est requis au-delà du statut d'utilisateur authentifié.
Echo évalue les déclarations d'artefacts attendus en utilisant le Spring Expression Language (SpEL) avec un StandardEvaluationContext non restreint lorsqu'un déclencheur de pipeline se déclenche. Un attaquant disposant d'un accès en écriture à n'importe quelle application peut enregistrer un pipeline contenant une expression SpEL malveillante, puis déclencher un webhook pour obtenir une exécution de code arbitraire sur le service Echo. Chaque autre point d'évaluation SpEL dans Spinnaker utilise un contexte renforcé ; c'est le seul qui ne le fait pas.
setup/ — Configuration automatisée de l'environnement. Clone l'arborescence source de Spinnaker, compile tous les services à partir des sources, et met en place un cluster entièrement configuré (Gate, Orca, Clouddriver, Front50, Fiat, Echo) avec l'infrastructure de support (Redis, MySQL, Elasticsearch, Minio, OpenLDAP). Inclut des données d'initialisation avec des applications de test, des utilisateurs et des pipelines.
pocs/ — Scripts d'exploitation. Chaque POC se connecte à Gate, configure l'attaque, et place l'utilisateur dans un shell interactif inversé sur le conteneur du service cible.
clouddriver_rce_via_git_clone.py — Injection shell via Git cloneecho_rce_via_spel.py — RCE SpEL via expectedArtifactsPrérequis : Docker, Git, Python 3.10+, et uv.
cd setup
./setup.sh
La première exécution clone la source de Spinnaker et compile tous les services (~20-30 min selon la machine). Les exécutions suivantes réutilisent la compilation en cache et démarrent en quelques minutes.
Lorsque la configuration est terminée, elle affiche tous les détails de l'environnement (URLs des services, identifiants, et exemples de commandes POC). Suivez ces instructions pour exécuter les POC.
Pour arrêter et nettoyer :
cd setup
./teardown.sh