CVE-2026-122310 is a critical privilege-escalation flaw in Kyverno 1.19.1. A namespace-scoped user who can create a Policy can reach cluster-scoped Kubernetes API endpoints through Kyverno's ServiceAccount. Depending on the RBAC permissions granted to that ServiceAccount, this can lead to cluster admin.
What Is It
The bug is in how Kyverno handles the context.apiCall urlPath field in a Policy. Kyverno cleans the path and validates the cleaned version. It then executes the raw, uncleaned path. The Kubernetes client drops any fragment (#) or query (?) part of that raw path.
An attacker can place ../ segments behind a # or ?. The cleaned path passes validation, but the request actually sent reaches a different endpoint. The weakness is classed as CWE-436 (Interpretation Conflict): the validator and the client read the same path in different ways.
VulnCheck disclosed the issue, and NVD published it on 2026-11-05. The NVD record is still marked "Awaiting Analysis."
Why It Matters
Kyverno sends these API calls with its own ServiceAccount. A namespace-scoped user can use that access to reach cluster-scoped endpoints. What the attacker can then do depends on the RBAC permissions bound to Kyverno's ServiceAccount. Where those permissions are broad, as they often are for a cluster-wide policy engine, the attacker can reach cluster admin. In those deployments, a tenant limited to one namespace may be able to take over the whole cluster. Where the ServiceAccount's permissions are tightly scoped, the impact is limited to whatever that ServiceAccount is allowed to do.
Severity scores from VulnCheck:
- CVSS 3.1: 9.9 Critical (
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H). The attack works over the network, has low complexity, needs only low privileges and no user interaction. Scope is changed, and confidentiality, integrity and availability impact are all high. - CVSS 4.0: 9.4 Critical. Impact is high on both the vulnerable system and subsequent systems.
The only requirement is permission to create a Policy in a namespace. Multi-tenant clusters that grant this permission to namespace users are the most exposed, especially where Kyverno's ServiceAccount holds broad cluster-scoped permissions.
Exploitation status: CVE-2026-122310 is not in CISA's Known Exploited Vulnerabilities catalog. The supplied data does not confirm active exploitation.
What's Vulnerable
- Product: Kyverno (
pkg:golang/github.com/kyverno/kyverno) - Affected: version 1.19.1 up to, but not including, 1.19.2
- Not affected: 1.19.2
The record lists no other affected versions, and no CPEs are listed yet.
Patch Status
Kyverno 1.19.2 is listed as unaffected. Clusters running 1.19.1 should upgrade to 1.19.2. Until they do, administrators should check which namespace-scoped users can create Kyverno Policy resources. They should also review the RBAC permissions bound to Kyverno's ServiceAccount, since those permissions decide how far an attacker can escalate. The project's GitHub security advisory (GHSA-3xfv-vq8x-qhg4) has the vendor's guidance.
CISA has issued no KEV required action or due date for this CVE.