PoC Archive PoC Archive
Critical CVE-2026-32604 (CWE-78) unpatched

Spinnaker Clouddriver — Git Clone Shell Injection RCE (CVE-2026-32604)

by John Walker / ZeroPath (ZeroPathAI) · 2026-07-05

CVSS 10.0/10
Severity
Critical
CVE
CVE-2026-32604 (CWE-78)
Category
cloud
Affected product
Spinnaker (Clouddriver service) — continuous delivery / multi-cloud orchestration platform
Affected versions
Not specified in source (affects Clouddriver's HTTP-based git artifact-fetch path)
Disclosed
2026-07-05
Patch status
unpatched

Metadata

FieldValue
Date Added2026-07-05
Last Updated2026-04
Author / ResearcherJohn Walker / ZeroPath (ZeroPathAI)
CVE / AdvisoryCVE-2026-32604 (CWE-78)
Categorycloud
SeverityCritical
CVSS Score10.0 (per source repository)
StatusPoC
Tagsspinnaker, clouddriver, command-injection, rce, cd-pipeline, cloud-credentials, shell-injection, docker-lab
RelatedCVE-2026-32613 (SpEL RCE via expectedArtifacts, same repo — companion PoC included)

Affected Target

FieldValue
Software / SystemSpinnaker (Clouddriver service) — continuous delivery / multi-cloud orchestration platform
Versions AffectedNot specified in source (affects Clouddriver’s HTTP-based git artifact-fetch path)
Language / PlatformPython 3.10+ PoC scripts against a Dockerized Spinnaker cluster (Gate, Orca, Clouddriver, Front50, Fiat, Echo + Redis/MySQL/Elasticsearch/Minio/OpenLDAP)
Authentication RequiredYes (any authenticated Spinnaker user, no special roles/permissions)
Network Access RequiredYes

Summary

Spinnaker’s Clouddriver service exposes an artifact-fetch endpoint (PUT /artifacts/fetch) that, when configured for HTTP-based git authentication, passes a user-supplied branch name unsanitized into a sh -c shell command. Because Clouddriver is the Spinnaker microservice that holds all configured cloud-provider credentials, any authenticated user — regardless of assigned role — can inject arbitrary shell commands and obtain code execution directly on the credential-holding host. The repository ships a full docker-compose lab that builds all core Spinnaker services from source plus a companion PoC (CVE-2026-32613) for a related SpEL-injection RCE in the Echo service, both landing an interactive reverse shell on the target container.


Vulnerability Details

Root Cause

The Clouddriver artifact-fetch handler concatenates the caller-supplied git branch/ref parameter directly into a shell command string (sh -c ...) without sanitization or use of a non-shell exec API, enabling arbitrary command injection.

Attack Vector

  1. Authenticate to the Spinnaker Gate API as any valid user (no elevated role required).
  2. Send a PUT /artifacts/fetch request configured with HTTP-based git authentication and a branch/ref parameter containing shell metacharacters and an injected command.
  3. Clouddriver executes the crafted string via sh -c, running the attacker’s command on the Clouddriver host.
  4. Use the resulting command execution to open a reverse shell, as demonstrated by clouddriver_rce_via_git_clone.py.

Impact

Full remote code execution on the Clouddriver service host, which stores credentials for every configured cloud provider — enabling theft of production cloud credentials and lateral movement across all managed cloud accounts.


Environment / Lab Setup

Target:   Self-built Spinnaker cluster (Gate/Orca/Clouddriver/Front50/Fiat/Echo) via setup/setup.sh
Attacker: Docker, Git, Python 3.10+, uv — run pocs/clouddriver_rce_via_git_clone.py against the lab's Gate endpoint

Proof of Concept

PoC Script

See pocs/clouddriver_rce_via_git_clone.py (this CVE) and pocs/echo_rce_via_spel.py (companion CVE-2026-32613) in this folder, plus the full lab under setup/.

1
2
3
cd setup
./setup.sh
python3 pocs/clouddriver_rce_via_git_clone.py <gate-url> <credentials/options as printed by setup.sh>

The script authenticates to Gate, issues a crafted PUT /artifacts/fetch request with a shell-injecting branch value, and drops the operator into an interactive reverse shell on the Clouddriver container.


Detection & Indicators of Compromise

Signs of compromise:

  • Anomalous outbound connections from the Clouddriver host shortly after an /artifacts/fetch call.
  • Shell metacharacters present in stored pipeline artifact/branch configuration.
  • Unexpected reads of cloud-provider credential files/environment on the Clouddriver host.

Remediation

ActionDetail
Primary fixNo vendor patch confirmed as of 2026-07-05 — monitor for advisory; upgrade Clouddriver once a fixed release addressing CVE-2026-32604 is published
Interim mitigationDisable or tightly restrict HTTP-based git artifact fetch, validate/allowlist branch and ref parameters server-side, and avoid invoking git operations through a shell (sh -c)

References


Notes

Mirrored from https://github.com/ZeroPathAI/spinnaker-poc on 2026-07-05.