Executive brief
Kyverno is a policy engine for Kubernetes that allows administrators to enforce security and compliance rules on container deployments. A flaw in its Service Call functionality allows an attacker with permission to create cluster policies to send requests to external servers controlled by the attacker, exfiltrating sensitive cluster data including Kubernetes secrets. This affects organizations using Kyverno for policy enforcement across their Kubernetes infrastructure.
Technical details
Kyverno's Service Call functionality is intended to reach internal Kubernetes services but fails to restrict requests to in-cluster addresses, allowing resolution of external URLs. The vulnerability is a server-side request forgery (CWE-918) in the apiCall/service configuration of ClusterPolicy and Policy resources. An attacker with policy creation permissions (typically cluster administrators but potentially lower-privileged users in multi-tenant environments) can craft a policy that sends HTTP POST requests containing policy context data—including Kubernetes resource contents and secrets—to an attacker-controlled external server. No special network configuration is required; the attack requires only the ability to create or modify cluster policies. Patches are available in version 1.13.4 and later.
Affected products
- Kyverno Kyverno before v1.13.4
Timeline
- 2025-04-15: disclosed: GitHub Security Advisory GHSA-459x-q9hg-4gpq published
- 2026-09-01: advisory: CVE-2025-15613 published to NVD