Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
7DescriptionGitHub Advisory
Kyverno is a policy engine designed for cloud native platform engineering teams. Prior to versions 1.18.0-rc1, 1.17.2-rc1, and 1.16.4, Kyverno's apiCall feature in ClusterPolicy automatically attaches the admission controller's ServiceAccount token to outgoing HTTP requests. The service URL has no validation - it can point anywhere, including attacker-controlled servers. Since the admission controller SA has permissions to patch webhook configurations, a stolen token leads to full cluster compromise. Versions 1.18.0-rc1, 1.17.2-rc1, and 1.16.4 patch the issue.
AnalysisAI
Kyverno's apiCall feature automatically attaches the admission controller's ServiceAccount token to HTTP requests without validating the destination URL, enabling authenticated attackers to exfiltrate tokens to attacker-controlled servers and achieve full cluster compromise through webhook configuration tampering. Affects Kyverno versions prior to 1.18.0-rc1, 1.17.2-rc1, and 1.16.4. Vendor-released patches available across all three affected version branches. EPSS data not provided, but the vulnerability enables privilege escalation from low-privilege Kubernetes user to cluster admin via token theft, representing critical risk in multi-tenant environments.
Technical ContextAI
Kyverno is a Kubernetes policy engine that uses admission webhooks to enforce policies. The vulnerable apiCall feature allows ClusterPolicy resources to make external HTTP calls during policy evaluation. The flaw (CWE-200: Exposure of Sensitive Information to an Unauthorized Actor) lies in the automatic attachment of the admission controller's ServiceAccount token to these HTTP requests combined with complete absence of URL validation. In Kubernetes RBAC architecture, the admission controller ServiceAccount requires elevated privileges including the ability to patch MutatingWebhookConfiguration and ValidatingWebhookConfiguration resources to manage its own webhook endpoints. By directing apiCall to an attacker-controlled HTTPS endpoint, the ServiceAccount bearer token is leaked in the Authorization header, which can then be replayed to the Kubernetes API server with full admission controller privileges.
RemediationAI
Upgrade Kyverno to patched versions: 1.18.0-rc1 or later for 1.18.x deployments, 1.17.2-rc1 or later for 1.17.x deployments, or 1.16.4 or later for 1.16.x deployments. Patches implement URL validation and restrict ServiceAccount token attachment in apiCall features per commits bc4f91c, c2eab00, and f70e8ac. If immediate patching is not feasible, implement compensating controls by restricting ClusterPolicy create/update RBAC permissions to only highly trusted administrators (reducing attack surface to PR:H effectively), deploying network policies to block egress from the kyverno admission controller pods to external networks (prevents token exfiltration but may break legitimate apiCall use cases requiring external connectivity), and enabling comprehensive audit logging for ClusterPolicy modifications and admission controller network connections to detect exploitation attempts. Review existing ClusterPolicy resources for unexpected apiCall directives pointing to non-organizational domains. Note that egress blocking will disable all external apiCall functionality, potentially breaking legitimate policy workflows. Full remediation details at https://github.com/kyverno/kyverno/security/advisories/GHSA-f9g8-6ppc-pqq4.
Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass
Cross-namespace privilege escalation in Kyverno 1.18.0-1.18.1 lets any tenant who can create a NamespacedMutatingPolicy
Kyverno is a policy engine designed for Kubernetes. Rated high severity (CVSS 8.7), this vulnerability is remotely explo
Kyverno is a policy engine designed for cloud native platform engineering teams. Rated high severity (CVSS 8.5), this vu
Kyverno versions up to 1.16.3 is affected by allocation of resources without limits or throttling (CVSS 7.7).
Kyverno is a policy engine designed for cloud native platform engineering teams. Rated medium severity (CVSS 5.8), this
Kyverno versions 1.16.0 and later contain a server-side request forgery vulnerability in unrestricted CEL HTTP functions
Policy enforcement bypass in Kyverno v1.9.0 through v1.12.7 lets an authenticated Kubernetes user evade an enforce-mode
Kyverno is a policy engine designed for Kubernetes. Rated high severity (CVSS 8.8), this vulnerability is remotely explo
Credential leakage in Kyverno's apiCall service mode automatically forwards the Kubernetes admission controller's Servic
Server-side request forgery in Kyverno's Kubernetes admission controller (all versions before 1.18.0) enables any authen
An image signature validation bypass vulnerability in Kyverno 1.8.3 and 1.8.4 allows a malicious image registry (or a ma
Same weakness CWE-200 – Information Exposure
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: HighShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-25389
GHSA-f9g8-6ppc-pqq4