CVE-2025-15613

Description

A flaw was found in Kyverno. An attacker with permissions to create Kyverno policies can exploit a Server-Side Request Forgery (SSRF) vulnerability within its Service Call functionality. This allows the attacker to specify an external URL in a policy's configuration, causing Kyverno to send requests to an attacker-controlled server. Consequently, sensitive cluster data, such as Kubernetes secrets, can be exfiltrated.

Statement

A server-side request forgery (SSRF) vulnerability was found in Kyverno, a policy engine for Kubernetes. In versions prior to 1.13.4, an attacker with permission to create or modify Kyverno ClusterPolicies or Policies can specify an external URL in a policy's apiCall/service configuration. Although the Service Call feature is documented for in-cluster services only, it also resolves external addresses, allowing HTTP requests to an attacker-controlled server. Because policy context data, including the contents of Kubernetes resources such as secrets and configuration maps, is sent in these requests, an attacker can exfiltrate sensitive cluster data. This SSRF vulnerability can also be exploited to access cloud provider metadata APIs (such as AWS, GCP, or Azure instance metadata endpoints) or to enumerate internal cluster services. This issue affects Red Hat Konflux Pipeline, which uses Kyverno for policy enforcement.

Mitigation

This issue is fixed in Kyverno version 1.13.4. Red Hat will provide updated versions of Konflux Pipeline that include the fixed Kyverno version.

Until updates are available, administrators can reduce the risk of SSRF attacks by implementing the following mitigations:

1. Restrict the set of users who can create or modify Kyverno ClusterPolicies and Policies. Use Kubernetes RBAC to limit policy creation permissions to trusted cluster administrators only.

2. Implement network policies to restrict egress traffic from the Kyverno namespace. Block outbound connections to external networks and cloud metadata endpoints (such as 169.254.169.254) to prevent SSRF-based data exfiltration.

3. Review existing Kyverno policies for suspicious apiCall/service configurations that reference external URLs or cloud metadata endpoints. Remove or modify any policies that contain unexpected external service calls.

4. Enable audit logging for Kyverno policy creation and modification events to detect unauthorized policy changes.

5. Monitor network traffic from Kyverno pods for unexpected outbound connections, particularly to external IP addresses or cloud metadata endpoints.

6. Consider temporarily disabling the Service Call feature in Kyverno if it is not required for policy enforcement in your environment.

7. Upgrade to Kyverno 1.13.4 or later as soon as updated Konflux Pipeline packages are available from Red Hat.

Understanding the Weakness (CWE)

Confidentiality

Technical Impact: Read Application Data

Integrity

Technical Impact: Execute Unauthorized Code or Commands

Access Control

Technical Impact: Bypass Protection Mechanism

By providing URLs to unexpected hosts or ports, attackers can make it appear that the server is sending the request, possibly bypassing access controls such as firewalls that prevent the attackers from accessing the URLs directly. The server can be used as a proxy to conduct port scanning of hosts in internal networks, use other URLs such as that can access documents on the system (using file://), or use other protocols such as gopher:// or tftp://, which may provide greater control over the contents of requests.

Frequently Asked Questions

Want to get errata notifications? Sign up here.