CVE-2025-61916
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedSpinnaker is an open source, multi-cloud continuous delivery platform. Versions prior to 2025.1.6, 2025.2.3, and 2025.3.0 are vulnerable to server-side request forgery. The primary impact is allowing users to fetch data from a remote URL. This data can be then injected into spinnaker pipelines via helm or other methods to extract things LIKE idmsv1 authentication data. This also includes calling internal spinnaker API's via a get and similar endpoints. Further, depending upon the artifact in question, auth data may be exposed to arbitrary endpoints (e.g. GitHub auth headers) leading to credentials exposure. To trigger this, a spinnaker installation MUST have two things. The first is an artifact enabled that allows user input. This includes GitHub file artifacts, BitBucket, GitLab, HTTP artifacts and similar artifact providers. JUST enabling the http artifact provider will add a "no-auth" http provider that could be used to extract link local data (e.g. AWS Metadata information). The second is a system that can consume the output of these artifacts. e.g. Rosco helm can use this to fetch values data. K8s account manifests if the API returns JSON can be used to inject that data into the pipeline itself though the pipeline would fail. This vulnerability is fixed in versions 2025.1.6, 2025.2.3, and 2025.3.0. As a workaround, disable HTTP account types that allow user input of a given URL. This is probably not feasible in most cases. Git, Docker and other artifact account types with explicit URL configurations bypass this limitation and should be safe as they limit artifact URL loading. Alternatively, use one of the various vendors which provide OPA policies to restrict pipelines from accessing or saving a pipeline with invalid URLs.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceThis is a Server-Side Request Forgery (SSRF) vulnerability in Spinnaker where enabled artifact providers (HTTP, GitHub, BitBucket, GitLab) allow user-supplied URLs to be fetched by the server. Attackers can exploit this to access internal services, cloud metadata endpoints (e.g., AWS IMDS), and internal Spinnaker APIs, potentially exfiltrating authentication credentials stored in headers or environment variables.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data< 2025.1.6>= 2025.2.0, < 2025.2.3CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Local
- Complexity
- Low
- Privileges
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- Low
- Availability
- Low
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Check Spinnaker versionDetermine the installed Spinnaker version by inspecting the deployment manifests, Helm values, or by querying the Spinnaker API (e.g., /health endpoint). Compare the version number against the affected ranges: < 2025.1.6 OR >= 2025.2.0 and < 2025.2.3.Affected if The installed version falls within the affected version ranges.
-
Identify enabled artifact providersReview Spinnaker configuration (typically in ~/.spin/config, or in the halyard/deck service configuration) to list all enabled artifact providers. Look for entries under artifact/providers or similar configuration sections.Affected if Any of the following artifact providers are enabled: HTTP, GitHub, BitBucket, or GitLab.
-
Check for HTTP artifact account configurationExamine the artifact account configurations for the HTTP artifact provider. Look for accounts defined in the artifact http section of the Spinnaker configuration. Identify if any accounts have settings that allow user-supplied URLs (e.g., any account with userEmail or API token configuration that accepts external input).Affected if An HTTP artifact account exists and accepts user-supplied URLs for fetching artifacts.
-
Check for GitHub artifact account configurationExamine the artifact account configurations for the GitHub artifact provider. Look for accounts defined in the artifact github section. Determine if these accounts are configured to allow pipeline artifacts from arbitrary GitHub repositories.Affected if A GitHub artifact account is enabled and configured to accept user-provided repository URLs.
-
Check for BitBucket or GitLab artifact accountsReview the artifact configurations for BitBucket and GitLab providers. Look for accounts in the artifact bitbucket and artifact gitlab sections of the configuration.Affected if BitBucket or GitLab artifact accounts are enabled and configured to accept user-supplied URLs.
-
Verify artifact credential exposureInspect the configured artifact accounts to determine whether they expose authentication credentials (such as API tokens, SSH keys, or tokens) that could be exfiltrated via SSRF requests. Check headers or environment variables referenced in account configurations.Affected if Artifact accounts contain credentials that would be sent along with requests to user-supplied URLs, enabling potential credential theft.
A user is affected if their Spinnaker version is vulnerable AND any of the HTTP, GitHub, BitBucket, or GitLab artifact providers are enabled with accounts that accept user-supplied URLs.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped2025.1.62025.2.3
Upgrade Spinnaker to version 2025.1.6, 2025.2.3, or 2025.3.0. Alternatively, disable HTTP and similar artifact accounts that allow user-provided URLs, though this may impact pipeline functionality.
2025.2.3 (or 2025.1.6 for 2025.1.x branch installations; 2025.3.0 also available as fixed release)
- 1. Identify the current Spinnaker version by checking the deployment configuration or using 'hal version list' if using Halyard, or 'kubectl get deployment -n spinnaker' for Kubernetes installations.
- 2. Determine which release branch is in use (2025.1.x or 2025.2.x) to select the appropriate target version.
- 3. For Halyard-based deployments: Run 'hal config version edit --version <target-version>' with the appropriate fixed version (2025.1.6 or 2025.2.3).
- 4. For Kubernetes Operator-based deployments: Update the SpinnakerKind custom resource with the new version in the spec.version field.
- 5. Apply the configuration changes and monitor the rollout: 'hal deploy apply' for Halyard, or 'kubectl apply' for Kubernetes operator deployments.
- 6. Verify all Spinnaker components (Deck, Gate, Orca, Clouddriver, etc.) have successfully restarted with the new version.
- 7. Test that artifact providers (especially HTTP artifacts) still function correctly post-upgrade.
- 8. As a defense-in-depth measure after upgrading, review and restrict artifact accounts to use explicit URL configurations rather than user-provided URLs where possible.
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation4.0 h
- Implementation8.0 h
- Testing6.0 h
- Review / QA3.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $5,888.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2025-61916 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2025-61916 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data