Feb 28, 2026·5 min read·14 visits
Authenticated attackers can exploit Spinnaker's artifact fetching mechanism to perform SSRF. By defining an HTTP artifact with a malicious URL, attackers can access cloud metadata services or internal APIs. Fixed in versions 2025.1.6, 2025.2.3, and 2025.3.0.
A high-severity Server-Side Request Forgery (SSRF) vulnerability exists in Spinnaker's Clouddriver component, specifically within the artifact fetching logic. The flaw allows authenticated users with pipeline creation privileges to define malicious HTTP artifacts pointing to arbitrary URLs. By leveraging the 'no-auth' HTTP artifact provider, attackers can coerce the Spinnaker platform to request data from internal network resources or cloud metadata services (e.g., AWS IMDS), leading to potential credential theft and lateral movement.
CVE-2025-61916 exposes a critical flaw in the artifact management subsystem of Spinnaker, the open-source continuous delivery platform. The vulnerability is rooted in the clouddriver-artifacts component, which is responsible for resolving and fetching artifacts (files, manifests, images) required during pipeline execution.
Spinnaker pipelines often require external resources—such as Helm chart values files or configuration manifests—to be fetched from version control systems or HTTP endpoints. The system supports various artifact providers, including a generic HTTP provider. In vulnerable configurations, this provider lacks sufficient validation of user-supplied URLs.
An attacker with standard permissions to create or modify pipelines can define a new artifact that points to a sensitive destination, such as the loopback interface (127.0.0.1), internal services within the Kubernetes cluster, or the link-local addresses used by cloud providers for instance metadata (169.254.169.254). Because the request originates from the Clouddriver pod, it bypasses network perimeter firewalls, effectively bridging the external user into the internal trust zone.
The root cause of this vulnerability involves the improper handling of the "no-auth" HTTP artifact account type within Clouddriver. When an HTTP artifact provider is enabled, Spinnaker essentially acts as an open proxy for the pipeline creator, fetching whatever resource is specified in the artifact definition.
The Mechanics of Failure:
reference (URL) for an artifact without enforcing an allowlist of permitted domains or a blocklist of reserved IP ranges.169.254.0.0/16.values.yaml file. If the artifact points to AWS IMDS, Clouddriver fetches the credentials and passes them to Rosco, where they may be exposed in error logs or rendered into the final manifest.While specific code diffs are not provided in the disclosure, the architectural flaw lies in the ArtifactController and the HttpArtifactCredentials implementation within Clouddriver.
In the vulnerable logic, the flow proceeds as follows:
http/file with reference http://169.254.169.254/latest/meta-data/.download method is invoked. The standard Java RestTemplate or OkHttp client executes the GET request.The remediation (in versions 2025.1.6+) introduces strict validation logic. The patch likely enforces a requirement that artifact URLs must match a pre-configured allowlist of domains (e.g., github.com, bitbucket.org) or explicitly blocks access to link-local and loopback addresses at the application layer before the socket connection is attempted.
To exploit CVE-2025-61916, an attacker requires authentication and the READ and WRITE permissions necessary to create or trigger pipelines. The exploitation process does not require high privileges (like Admin).
Attack Scenario:
http://169.254.169.254/latest/meta-data/iam/security-credentials/NodeRole (AWS) or http://metadata.google.internal/computeMetadata/v1/ (GCP).The impact of this SSRF is rated High (CVSS 7.9) because it facilitates a scope change (S:C). The vulnerability allows an attacker to breach the logical boundary of the Spinnaker application and interact with the underlying infrastructure.
Consequences:
Remediation requires updating the Spinnaker platform to a patched version. The fix introduces stricter URL validation and prevents the implicit trust of the 'no-auth' HTTP provider.
Immediate Actions:
Defense-in-Depth:
If immediate patching is not feasible, administrators should implement Open Policy Agent (OPA) policies within Spinnaker. An OPA policy can be configured to deny pipeline executions if any artifact URL matches a blocklist of sensitive subnets (169.254.0.0/16, 10.0.0.0/8, 127.0.0.0/8). Additionally, network policies (e.g., Kubernetes NetworkPolicies or Istio Egress rules) should be applied to the Clouddriver pod to restrict outbound connectivity solely to required external domains.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L| Product | Affected Versions | Fixed Version |
|---|---|---|
Spinnaker Spinnaker | < 2025.1.6 | 2025.1.6 |
Spinnaker Spinnaker | >= 2025.2.0, < 2025.2.3 | 2025.2.3 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-918 (SSRF) |
| CVSS v3.1 | 7.9 (High) |
| Attack Vector | Local / Authenticated |
| EPSS Score | 0.041% (Low Probability) |
| Impact | Credential Theft, Internal Recon |
| Exploit Status | No Known Exploit (None) |
Server-Side Request Forgery (SSRF) occurs when a web application is fetching a remote resource without validating the user-supplied URL. It allows an attacker to coerce the application to send a crafted request to an unexpected destination.