---
title: "CVE-2026-22039: Kyverno Cross-Namespace Privilege Escalation via Policy apiCall"
url: https://erroneo.us/security/cve/CVE-2026-22039/
description: "CVE-2026-22039 (github.com/kyverno/kyverno (Go)): Kyverno is a policy engine designed for cloud native platform engineering teams. Versions prior to 1.16.3…"
type: vulnerability-record
section: "Security Digest"
date_published: 2026-01-27
date_modified: 2026-01-29
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2026-22039"
kev: false
cvss: 10
epss: 0.00587
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2026-22039: Kyverno Cross-Namespace Privilege Escalation via Policy apiCall

**Signal:** Critical, preconditions apply. Severe if exploited, but exploitation needs conditions that may not apply to you. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- Not in CISA KEV , but CISA’s SSVC assessment records a public proof-of-concept, so attack code exists.
- EPSS 0.6% , percentile 47: FIRST’s model estimates a 0.6% chance of exploitation activity in the next 30 days, higher than 47% of all scored CVEs (low). EPSS is a probability, not a verdict.
- Needs an account (low (any account)). Exposure depends on who can log in.
- Only applies if your dependency tree includes github.com/kyverno/kyverno (Go) < 1.15.3, fixed in 1.15.3 ; github.com/kyverno/kyverno (Go) >= 1.16.0-rc.1, < 1.16.3, fixed in 1.16.3 . Check your lockfile, including transitive dependencies.

## What it is

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.

## Affected packages

- Go `github.com/kyverno/kyverno` < 1.15.3 → fixed: 1.15.3
- Go `github.com/kyverno/kyverno` >= 1.16.0-rc.1, < 1.16.3 → fixed: 1.16.3

## Affected products (CVE record)

- kyverno kyverno: < 1.15.3, >= 1.16.0, < 1.16.3

## Severity

- GitHub_M CVSS 3.1: 10 `CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H`
- GitHub CVSS 3.1: 9.9 `CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation poc , automatable no , technical impact total .
- FIRST EPSS (model of 2026-10-21): 0.59% probability of exploitation activity in the next 30 days; percentile 47.

## Sources

- [GitHub Advisory GHSA-8p9x-46gm-qfx2](https://github.com/advisories/GHSA-8p9x-46gm-qfx2)
- [CVE.org record CVE-2026-22039](https://www.cve.org/CVERecord?id=CVE-2026-22039)
- [NVD entry CVE-2026-22039](https://nvd.nist.gov/vuln/detail/CVE-2026-22039)
- [github.com](https://github.com/kyverno/kyverno/security/advisories/GHSA-8p9x-46gm-qfx2)
- [github.com](https://github.com/kyverno/kyverno/commit/e0ba4de4f1e0ca325066d5095db51aec45b1407b)
- [github.com](https://github.com/kyverno/kyverno/commit/eba60fa856c781bcb9c3be066061a3df03ae4e3e)

---
Source page: https://erroneo.us/security/cve/CVE-2026-22039/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
