GPU VulnDB

Database/Container, Kubernetes & orchestration

Kyverno: unvalidated path segments in CEL resource.get/post let namespaced policies escape their namespace

CVSS 9.4CVE-2026-122311Container, Kubernetes & orchestrationcurated

Impact

The resource argument to resource.get() and resource.post() in Kyverno CEL policies is not checked for path segments, so a namespaced policy can insert .. and address objects outside its own namespace. The call runs as the admission controller's ServiceAccount, giving read and write to arbitrary cluster objects - cluster takeover from a single tenant namespace. On a multi-tenant GPU cluster the consequence is cross-tenant: secrets, RBAC and workload definitions belonging to other tenants are all in reach, and the attacker can place pods on any node pool. Distinct from the apiCall urlPath issue (CVE-2026-122310) - different code path, different affected range, starting at 1.16.0.

Who can reach it

An authenticated tenant who can create a NamespacedValidatingPolicy in their own namespace. Kubernetes API access only.

What to do

Upgrade Kyverno to 1.19.2 or later (affects 1.16.0 onwards) per the GitHub advisory. Controller rollout and pod restart, no node drain. Until then, restrict creation of NamespacedValidatingPolicy objects to cluster operators.

References

Related entries

All Container, Kubernetes & orchestration entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.