Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain ClusterPolicy RBAC creation rights
-
DeliveryDeploy malicious ClusterPolicy with external apiCall service URL
-
ExploitCluster resource creation triggers Kyverno admission webhook
-
ExecutionKyverno controller POSTs full resource context to attacker server
-
ImpactReceive and exfiltrate Kubernetes Secrets and sensitive resource data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to hold a Kubernetes RBAC binding granting create/update on the kyverno.io ClusterPolicy or Policy custom resources. This is not assigned to any built-in Kubernetes role and must be explicitly provisioned; it is most likely to exist in GitOps workflows, developer self-service platforms, or clusters where application teams are permitted to author their own admission policies. Once the malicious policy is placed, no further attacker action is needed: the SSRF fires automatically on every admission event for matching resources. Additional limiting factors: Kyverno's admission webhook must be active and the kyverno controller pod must have outbound network reachability to the attacker's server. The PR:N rating in the supplied CVSS 4.0 vector does not reflect these prerequisites and should not be used for risk-tiering decisions. |
| Impact | The supplied CVSS 4.0 vector (PR:N) conflicts directly with the CVE description, which states exploitation requires permission to create Kyverno (Cluster)Policies - a non-default RBAC grant that must be explicitly provisioned. PR:N is incorrect for this vulnerability; this analysis uses PR:L in the independent assessment. The CVSS 4.0 impact metrics (VI:L, SC:L, SI:L, SA:L) also underrepresent the actual confidentiality outcome: full Kubernetes Secret contents can be exfiltrated, which represents a high confidentiality impact. No EPSS score was provided, and no CISA KEV listing exists. Despite these gaps, the publicly documented PoC significantly raises the practical risk bar - any cluster where developers or CI/CD service accounts hold policy creation rights is directly threatened. The real-world risk concentrates in multi-tenant clusters and GitOps environments where policy authoring is delegated beyond the cluster-admin role; tightly RBAC-controlled clusters face substantially lower exposure. |
| Exploit ScenarioDerived | An attacker who has obtained a developer or CI/CD service account with ClusterPolicy creation rights creates a malicious ClusterPolicy with an apiCall/service.url pointing to a Burp Collaborator or similar attacker-controlled HTTPS listener, scoped to match all ConfigMap or Secret resources. When any cluster user subsequently creates or updates a matching resource, Kyverno's admission webhook fires, the controller evaluates the policy, and the full resource context - including Secret data fields - is HTTP POSTed to the attacker's server. A working PoC demonstrating this exact flow against a live cluster was published in GHSA-459x-q9hg-4gpq. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Server-side request forgery in Kyverno's Service Call feature (versions before v1.13.4) allows any cluster user holding ClusterPolicy creation rights to exfiltrate arbitrary Kubernetes resource data - including Secrets - by directing policy apiCall requests to an attacker-controlled external server. The vulnerability stems from a missing URL validation that permits the apiCall/service block, documented for in-cluster services, to resolve and POST data to internet-accessible endpoints. Publicly available exploit code exists in the form of a working PoC ClusterPolicy published in the GHSA advisory; no active exploitation is confirmed via CISA KEV.
RemediationAI
Per the CVE description, upgrading to Kyverno v1.13.4 or later is the primary fix; consult https://github.com/kyverno/kyverno/security/advisories/GHSA-459x-q9hg-4gpq to confirm the released patch version before deploying, given the conflicting package-level data. Where patching is not immediately possible, apply the following targeted compensating controls: first, restrict ClusterPolicy and Policy creation rights in Kubernetes RBAC to only cluster-admin-equivalent principals or a tightly scoped CI service account, removing any developer-level policy creation grants (trade-off: this blocks legitimate self-service policy workflows). Second, audit all existing policies for malicious apiCall/service blocks using kubectl get clusterpolicies,policies -A -o json | jq '.items[].spec.rules[].context[]?.apiCall.service // empty' and remove or quarantine any referencing external URLs. Third, if the Kyverno controller's network egress can be restricted via Kubernetes NetworkPolicy or an egress firewall, block outbound connections from the kyverno namespace to non-RFC-1918 addresses (trade-off: this also blocks legitimate external apiCall integrations if any are in use).
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Kyverno is a Kubernetes-native admission policy engine (CPE: cpe:2.3:a:kyverno:kyverno:*:*:*:*:*:*:*:*) that evaluates custom resource definitions - Policy and ClusterPolicy - against API server admission events via a mutating/validating webhook. Its external data source feature includes a Service Call mode (spec.rules[].context[].apiCall.service) intended to query in-cluster HTTP services and inject their responses as policy context variables. CWE-918 (Server-Side Request Forgery) describes the root cause: the Kyverno controller performs outbound HTTP requests to any URL specified in the service.url field without restricting targets to RFC 1918 or cluster-internal addresses. Because the request body contains the full policy evaluation context - including the resource under admission review - any field resolved at evaluation time (namespace, labels, resource contents) is transmitted verbatim to the attacker-specified endpoint.
Know when Kyverno gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L
ClusterPolicy creation requires an explicit RBAC grant (PR:L); data exfiltration crosses cluster boundary to external server (S:C); Kubernetes Secrets fully exposed to attacker (C:H).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Kyverno before v1.13.4 is vulnerable to server-side request forgery (SSRF) via its Service Call functionality. An attacker with permission to create Kyverno (Cluster)Policies can specify an external URL in a policy's apiCall/service configuration; although Service Call is documented for in-cluster services, it also resolves external addresses, allowing requests to an attacker-controlled server. Because policy context data (including contents of Kubernetes resources such as secrets) is sent in these requests, an attacker can exfiltrate sensitive cluster data.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
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
Privilege escalation in Kyverno before 1.19.1 allows an authenticated Kubernetes namespace tenant with Policy/apiCall au
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
Cross-namespace information disclosure in Kyverno before 1.19.1 allows an authenticated low-privilege tenant to read res
Credential leakage in Kyverno's apiCall service mode automatically forwards the Kubernetes admission controller's Servic
EUVD-2025-210816
GHSA-8g8h-v9pm-r6xg
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB