Spinnaker Clouddriver — Git Clone Shell Injection RCE (CVE-2026-32604)
by John Walker / ZeroPath (ZeroPathAI) · 2026-07-05
- 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
Tags
References
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-04 |
| Author / Researcher | John Walker / ZeroPath (ZeroPathAI) |
| CVE / Advisory | CVE-2026-32604 (CWE-78) |
| Category | cloud |
| Severity | Critical |
| CVSS Score | 10.0 (per source repository) |
| Status | PoC |
| Tags | spinnaker, clouddriver, command-injection, rce, cd-pipeline, cloud-credentials, shell-injection, docker-lab |
| Related | CVE-2026-32613 (SpEL RCE via expectedArtifacts, same repo — companion PoC included) |
Affected Target
| Field | Value |
|---|---|
| Software / System | Spinnaker (Clouddriver service) — continuous delivery / multi-cloud orchestration platform |
| Versions Affected | Not specified in source (affects Clouddriver’s HTTP-based git artifact-fetch path) |
| Language / Platform | Python 3.10+ PoC scripts against a Dockerized Spinnaker cluster (Gate, Orca, Clouddriver, Front50, Fiat, Echo + Redis/MySQL/Elasticsearch/Minio/OpenLDAP) |
| Authentication Required | Yes (any authenticated Spinnaker user, no special roles/permissions) |
| Network Access Required | Yes |
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
- Authenticate to the Spinnaker Gate API as any valid user (no elevated role required).
- Send a
PUT /artifacts/fetchrequest configured with HTTP-based git authentication and a branch/ref parameter containing shell metacharacters and an injected command. - Clouddriver executes the crafted string via
sh -c, running the attacker’s command on the Clouddriver host. - 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) andpocs/echo_rce_via_spel.py(companion CVE-2026-32613) in this folder, plus the full lab undersetup/.
| |
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/fetchcall. - Shell metacharacters present in stored pipeline artifact/branch configuration.
- Unexpected reads of cloud-provider credential files/environment on the Clouddriver host.
Remediation
| Action | Detail |
|---|---|
| Primary fix | No vendor patch confirmed as of 2026-07-05 — monitor for advisory; upgrade Clouddriver once a fixed release addressing CVE-2026-32604 is published |
| Interim mitigation | Disable 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.