Advisory · CVE-2026-122316
Kyverno mutate-existing can strip Pod Security labels cluster-wide
Kyverno 1.17.0 before 1.19.2 has a missing authorization check in the mutate-existing background processor: namespaced tenants can modify resources outside their namespace through NamespacedMutatingPolicy CEL expressions. Kyverno rates it CVSS 3.1 8.5.
- Vendor
- Kyverno
- Product
- Kyverno
- Identifier / CWE
- CVE-2026-122316
CWE-862 - Action timing
- Immediate
Explain it like I’m five
A background job that applies policy changes never checks whether the policy author owns the target. A tenant can aim it at Namespace objects and strip safety labels off the whole cluster.
- 01Mutating policy created
A namespaced tenant creates a NamespacedMutatingPolicy targeting Namespace objects or victim-namespace resources via CEL expressions.
- 02Background processor runs
The mutate-existing background processor applies the change with the controller's ServiceAccount.
- 03No authorization check
The processor does not verify the author may modify the target.
- 04Pod Security labels stripped
The background-controller ServiceAccount strips Pod Security labels cluster-wide.
What happened
Kyverno disclosed CVE-2026-122316 for Kyverno 1.17.0 before 1.19.2. The mutate-existing background processor has a missing authorization vulnerability: namespaced tenants can modify resources outside their namespace by creating a NamespacedMutatingPolicy targeting Namespace objects or victim-namespace resources via CEL expressions, making the background-controller ServiceAccount strip Pod Security labels cluster-wide.
The advisory rates it CVSS 3.1 8.5 and identifies Kyverno 1.19.2 as the fixed release.
What to do
- Inventory Kyverno installations and confirm the deployed version.
- Upgrade affected installations to Kyverno 1.19.2 or later using the project release guidance.
- While remediation is underway, limit who can create NamespacedMutatingPolicy objects.
- Review Kubernetes audit logs for NamespacedMutatingPolicy objects and for changes to Namespace objects and Pod Security labels.
- Verify Pod Security labels on all namespaces and restore any that were stripped.
Management note
Stripping Pod Security labels cluster-wide quietly lowers the security posture of every workload. Even if nothing else was changed, re-verify the labels after patching.