CVE-2026-22039: Kyverno Cross-Namespace Privilege Escalation via Policy apiCall
(updated )
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.
References
- github.com/advisories/GHSA-8p9x-46gm-qfx2
- github.com/kyverno/kyverno
- github.com/kyverno/kyverno/commit/e0ba4de4f1e0ca325066d5095db51aec45b1407b
- github.com/kyverno/kyverno/commit/eba60fa856c781bcb9c3be066061a3df03ae4e3e
- github.com/kyverno/kyverno/security/advisories/GHSA-8p9x-46gm-qfx2
- nvd.nist.gov/vuln/detail/CVE-2026-22039
Code Behaviors & Features
Detect and mitigate CVE-2026-22039 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →