A critical authorization bypass in Kyverno 1.19.1 lets namespace tenants use malformed percent-escapes to get past the apiCall namespace clamp and escalate to cluster admin.
What Is It
CVE-2026-124440 is an authorization bypass in the apiCall namespace clamp in Kyverno. A namespace tenant can append malformed percent-escapes to the urlPath of an apiCall and get past the clamp. The clamp is supposed to keep a tenant's API requests inside their own namespace. With the bypass, the tenant can send cross-namespace and cluster-scoped API requests.
The weakness is classified as CWE-441. VulnCheck disclosed it, and the record was published to NVD on 2026-11-08 with a status of "Received."
Why It Matters
The attacker needs only low privileges: the ability to create a namespaced Policy. Once that Policy exists, its apiCall runs as the Kyverno admission-controller ServiceAccount, not as the tenant. That has two consequences:
- The attacker can read resources in other namespaces.
- The attacker can create mutating webhooks, which leads to full cluster admin.
In multi-tenant clusters that rely on namespace boundaries, one tenant can take over the whole cluster.
The scores reflect this:
- CVSS 3.1: 9.9 Critical (
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H). It is network-reachable, low complexity, needs no user interaction, and has a changed scope. - CVSS 4.0 (secondary): 9.4 Critical, rated High for both the vulnerable system and subsequent systems.
Exploitation status: CVE-2026-124440 is not in the CISA Known Exploited Vulnerabilities (KEV) catalog, and the supplied sources don't confirm active exploitation. Exploit maturity is "Not Defined" in the CVSS 4.0 data.
What's Vulnerable
- Vendor/Product: Kyverno
- Package:
pkg:golang/github.com/kyverno/kyverno - Affected: version 1.19.1 and later, before 1.19.2
- Unaffected: 1.19.2
All other versions are listed as unaffected by default. The record lists no CPEs.
Patch Status
The affected-version data lists Kyverno 1.19.2 as unaffected. Clusters running 1.19.1 should upgrade to 1.19.2. Because the CVE is not in KEV, CISA has issued no required action or due date. Until you upgrade, find out who can create namespaced Policies in tenant namespaces. Treat that permission as cluster-admin-equivalent on affected versions. The GitHub and VulnCheck advisories have the vendor's guidance.