CVE-2026-22039 Kyverno Cross-Namespace Privilege Escalation via Policy apiCall
Authenticated users can escalate privileges and access cross-namespace resources by exploiting Kyverno's policy apiCall feature to bypass namespace isolation.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-22039?
CVE-2026-22039 is a critical vulnerability in kyverno, published on 27 Jan 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Kyverno is a policy engine designed for cloud native platform engineering teams. Versions prior to 1.16.3 and 1.15.3 have a critical authorization boundary bypass in namespaced Kyverno Policy apiCall. The resolved `urlPath` is executed using the Kyverno admission controller ServiceAccount, with no enforcement that the request is limited to the policy’s namespace. As a result, any authenticated user with permission to create a namespaced Policy can cause Kyverno to perform Kubernetes API requests using Kyverno’s admission controller identity, targeting any API path allowed by that ServiceAccount’s RBAC. This breaks namespace isolation by enabling cross-namespace reads (for example, ConfigMaps and, where permitted, Secrets) and allows cluster-scoped or cross-namespace writes (for example, creating ClusterPolicies) by controlling the urlPath through context variable substitution. Versions 1.16.3 and 1.15.3 contain a patch for the vulnerability.
Which versions are affected by CVE-2026-22039?
6 open source packages ship an affected version, including github.com/kyverno/kyverno and kyverno. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/kyverno/kyverno Go | All versions | 1.15.3, 1.16.3 |
github.com/kyverno/kyverno Go | All versions | 1.15.3 |
github.com/kyverno/kyverno Go | All versions | 1.15.3 |
github.com/kyverno/kyverno Go | From 1.16.0-rc.1 | 1.16.3 |
github.com/kyverno/kyverno Go | From 1.16.0-rc.1 | 1.16.3 |
kyverno Bitnami | All versions | 1.15.3, 1.16.3 |
Products include Kyverno Kyverno.
How do I fix CVE-2026-22039?
Upgrade github.com/kyverno/kyverno to a fixed version for your release line: 1.15.3 or 1.16.3.
Is CVE-2026-22039 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-22039 exists.
Other vulnerabilities in kyverno
- CVE-2026-4789 CVE-2026-4789
- CVE-2025-46342 Kyverno vulnerable to bypass of policy rules that use namespace selectors in match statements
- CVE-2026-41323 Kyverno: ServiceAccount token leaked to external servers via apiCall service URL
- CVE-2026-40868 kyverno apicall servicecall implicit bearer token injection leaks kyverno serviceaccount token
- CVE-2022-47633 kyverno verifyImages rule bypass possible with malicious proxy/registry
Sources
Also known as BIT-kyverno-2026-22039, CLEANSTART-2026-KS35076, GHSA-8p9x-46gm-qfx2, GO-2026-4381, MINI-2547-2gp7-7c93, MINI-38gc-3r2h-4qq2 and 11 more.