CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2025-61916

CVE-2025-61916: Spinnaker Pipeline Artifact SSRF

Alon Barad
Alon Barad
Software Engineer

Feb 28, 2026·5 min read·54 visits

Executive Summary (TL;DR)

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.

Vulnerability Overview

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.

Root Cause Analysis

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:

  1. Unrestricted Input: The system allows users to manually specify the reference (URL) for an artifact without enforcing an allowlist of permitted domains or a blocklist of reserved IP ranges.
  2. Implicit Trust: The HTTP provider defaults to a "no-auth" mode that does not perform adequate checks on the destination IP address. This allows the Java-based HTTP client to resolve and connect to restricted ranges like 169.254.0.0/16.
  3. Data Consumption: Downstream components, particularly Rosco (the bakery service), often consume these artifacts. For example, if a pipeline contains a "Bake (Manifest)" stage, Rosco will request the artifact content from Clouddriver to use as a 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.

Architectural Analysis

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:

  1. Request: User submits a pipeline execution request containing an artifact of type http/file with reference http://169.254.169.254/latest/meta-data/.
  2. Resolution: Clouddriver identifies the artifact account. If no specific account is configured, it falls back to a default or anonymous HTTP client.
  3. Execution: The download method is invoked. The standard Java RestTemplate or OkHttp client executes the GET request.
  4. Failure to Validate: Crucially, there is no pre-flight check to verify that the resolved IP address of the target hostname is not within a private CIDR block (RFC 1918) or a reserved range.

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.

Exploitation Methodology

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:

  1. Pipeline Configuration: The attacker creates a new pipeline or edits an existing one via the Spinnaker UI or API.
  2. Artifact Definition: They define a "Expected Artifact" using the HTTP provider. The URL is set to a sensitive target, such as http://169.254.169.254/latest/meta-data/iam/security-credentials/NodeRole (AWS) or http://metadata.google.internal/computeMetadata/v1/ (GCP).
  3. Trigger Mechanism: The attacker configures a stage that consumes this artifact. A logical choice is a "Bake (Manifest)" stage (Helm), configuring the malicious artifact as a "Values File".
  4. Execution: The attacker runs the pipeline manually.
  5. Exfiltration: Clouddriver fetches the IAM credentials from the metadata service. When the Bake stage runs, these credentials are injected into the Helm rendering process. The attacker can then view the "Produced Artifact" (the rendered manifest) in the UI, which will now contain the stolen AWS credentials in plain text.

Impact Assessment

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:

  • Cloud Credential Theft: Access to the Instance Metadata Service (IMDS) allows attackers to steal temporary credentials assigned to the Spinnaker nodes. This often leads to full control over the cloud environment, depending on the IAM role's permissions.
  • Internal Reconnaissance: Attackers can port-scan internal services (e.g., databases, Redis, other microservices) by analyzing response times or error messages from the artifact fetcher.
  • Information Disclosure: Sensitive internal API endpoints or configuration files hosted on the internal network can be retrieved and displayed to the attacker.

Mitigation & Remediation

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:

  1. Upgrade: Update Spinnaker components to versions 2025.1.6, 2025.2.3, or 2025.3.0.
  2. Audit: Review existing pipeline configurations for artifacts using the HTTP provider with suspicious URLs (e.g., IP addresses instead of domains).

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.

Official Patches

SpinnakerGitHub Security Advisory GHSA-vrjc-q2fh-6x9h

Technical Appendix

CVSS Score
7.9/ 10
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L
EPSS Probability
0.04%
Top 88% most exploited

Affected Systems

Spinnaker ClouddriverSpinnaker RoscoSpinnaker (Core Platform)

Affected Versions Detail

Product
Affected Versions
Fixed Version
Spinnaker
Spinnaker
< 2025.1.62025.1.6
Spinnaker
Spinnaker
>= 2025.2.0, < 2025.2.32025.2.3
AttributeDetail
CWE IDCWE-918 (SSRF)
CVSS v3.17.9 (High)
Attack VectorLocal / Authenticated
EPSS Score0.041% (Low Probability)
ImpactCredential Theft, Internal Recon
Exploit StatusNo Known Exploit (None)

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1005Data from Local System
Collection
T1552Unsecured Credentials
Credential Access
CWE-918
Server-Side Request Forgery (SSRF)

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.

Vulnerability Timeline

Vulnerability Published
2026-01-05
Patched Versions Released
2026-01-05
NVD Record Modified
2026-02-23

References & Sources

  • [1]Spinnaker Security Advisory
  • [2]NVD - CVE-2025-61916

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•33 minutes ago•CVE-2026-75828
9.3

CVE-2026-75828: Stored Cross-Site Scripting (XSS) via Security Filter Bypass in Grav CMS

CVE-2026-75828 is a critical stored cross-site scripting (XSS) vulnerability in the getgrav Grav CMS before version 2.0.15. The vulnerability resides in the detectXss() security filter mechanism, where parser-differential mismatches between the regular-expression-based server-side validation and browser HTML5 tokenization allow authenticated editors to bypass event-handler detection and inject arbitrary JavaScript execution vectors.

Amit Schendel
Amit Schendel
2 views•4 min read
•about 2 hours ago•CVE-2026-75827
8.8

CVE-2026-75827: Grav Arbitrary File Write & Remote Code Execution

An arbitrary file write and remote code execution vulnerability exists in Grav CMS before version 2.0.15. The vulnerability is caused by using an incomplete denylist validation approach for bare PHP functions in the Blueprint dynamic-data compiler, allowing authenticated users with page-editing or blueprint-configuration privileges to execute arbitrary functions such as error_log.

Alon Barad
Alon Barad
3 views•4 min read
•about 3 hours ago•CVE-2026-75834
5.4

CVE-2026-75834: Input Sanitization Bypass leading to Stored XSS in Grav CMS

CVE-2026-75834 is a stored Cross-Site Scripting (XSS) vulnerability in Grav CMS core, caused by a design flaw in its input validation wrapper Security::detectXss(). Regular expressions using the PCRE UTF-8 /u modifier fail-open when encountering invalid UTF-8 sequences or when the PCRE JIT stack limit is exhausted, allowing authenticated users with page-editing privileges to save malicious HTML and scripts.

Alon Barad
Alon Barad
4 views•6 min read
•about 4 hours ago•CVE-2026-75837
9.1

CVE-2026-75837: Privilege Escalation in Grav CMS via Missing Blueprint Validation

CVE-2026-75837 is a critical privilege escalation vulnerability affecting the Grav Flat-File Content Management System (CMS) in versions prior to 2.0.14. Due to a missing security guard on the access field within the core Flex group blueprint configuration file (system/blueprints/user/group.yaml), a delegated administrative operator can submit a crafted payload to elevate their permissions to super-administrator, which can then be leveraged to achieve remote code execution.

Alon Barad
Alon Barad
4 views•8 min read
•about 4 hours ago•CVE-2026-76461
9.8

CVE-2026-76461: SQL Injection to Remote Code Execution in Cisco Secure Email Gateway

CVE-2026-76461 is a critical, unauthenticated, remotely exploitable SQL Injection (SQLi) vulnerability in the email parsing engine of Cisco AsyncOS Software for Cisco Secure Email Gateway (SEG). An unauthenticated remote attacker can exploit this vulnerability by transmitting a specially crafted email message containing malicious SQL statements directly through an affected gateway.

Amit Schendel
Amit Schendel
11 views•5 min read
•about 5 hours ago•CVE-2026-72819
8.8

CVE-2026-72819: Remote Code Execution in Grav CMS via Dynamic Callable Validation Bypass in Blueprint

CVE-2026-72819 is a high-severity Remote Code Execution (RCE) vulnerability in Grav CMS before version 2.0.13. The vulnerability lies in the validation of dynamic data providers (callbacks) within the Flex Objects plugin settings and blueprints, allowing administrative users to bypass validation checks via array-notation callables. This validation failure enables administrative users to execute arbitrary PHP classes and methods, including the GPM Installer unZip routine, leading to full remote code execution on the server.

Amit Schendel
Amit Schendel
8 views•9 min read