CVE-2026-122310: Kyverno urlPath Validation Mismatch
CVE-2026-122310 affects Kyverno 1.19.1 (fixed in 1.19.2) and is scored CVSS 9.9 (Critical).
Kyverno validates a Policy's context.apiCall urlPath after cleaning it, but executes the raw path. The Kubernetes client discards any fragment or query. A namespace-scoped user who can create a Policy can hide ../ segments behind # or ?: the validator sees a harmless path, while the request that actually runs reaches cluster-scoped endpoints.
Key Facts
| Field | Detail |
|---|---|
| CVE | CVE-2026-122310 |
| Severity | Critical (CVSS 9.9) |
| Product | Kyverno |
| Affected | 1.19.1 |
| Fixed in | 1.19.2 |
| Prerequisite | Ability to create a namespaced Policy |
| Root cause | Validated path differs from executed path |
| Published | 2026-11-05 |
Remediation
- Upgrade Kyverno to 1.19.2 or later. Clusters on 1.19.1 are the ones affected by this specific CVE, but the same release fixes several related flaws, so upgrade regardless of your current 1.x version.
- Search existing Policies for
apiCallurlPathvalues containing#or?together with... - Restrict who can create namespaced Policies until the upgrade is done.
- Review API audit logs for Kyverno-originated requests to cluster-scoped endpoints that no policy should need.