Executive brief
Kyverno, a policy engine for Kubernetes, is vulnerable to a security flaw that allows users with limited permissions to trick the system into making unauthorized network requests. An attacker could use this to bypass security boundaries and access sensitive internal data, such as cloud metadata or private service information, that should normally be protected. This could lead to the exposure of credentials or other confidential infrastructure details.
Technical details
A server-side request forgery (SSRF) vulnerability exists in Kyverno's CEL-based HTTP functions (Get and Post) located in pkg/cel/libs/http/http.go. These functions lack URL validation, blocklists, or namespace scoping, allowing namespaced policies to trigger arbitrary HTTP requests from the Kyverno admission controller pod. An authenticated attacker with namespace-level permissions can create a malicious policy to exfiltrate data from internal services or cloud metadata APIs (IMDS) by capturing responses in CEL variables and displaying them in policy denial messages. While some sources list this as medium severity, the lack of authentication requirements for the underlying network request and the potential for full data exfiltration from the management plane often result in critical impact ratings. No official patch was available at the time of the CERT/CC advisory, though mitigation involves implementing network policies to restrict Kyverno's egress.
Affected products
- Kyverno Kyverno >= 1.16.0, <= 1.17.1
Timeline
- 2026-02-10: other: Vendor notified by CERT/CC
- 2026-03-30: disclosed: Vulnerability disclosed by CERT/CC and NVD
- 2026-04-14: other: Advisory GHSA-qqrv-2hch-83q4 withdrawn as a duplicate of GHSA-rggm-jjmc-3394