# CVE-2026-122303: Kyverno NamespacedMutatingPolicy authorization bypass in mutate-existing

Source: https://junglewise.ai/threats/cve-2026-122303-kyverno-from-1-17-0-before-1-19-2-contains-an-authorization  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-05. Updated: 2026-11-05  
License: CC BY 4.0 with a link back

CVE-2026-122303 · Severity: critical · CVSS 9.9 · Published 2026-11-05

Kyverno is a policy engine for Kubernetes that enforces security and compliance rules. A namespace tenant with permission to create policies in their own namespace can bypass authorization controls and overwrite critical resources in other namespaces or cluster-wide—including Secrets, Deployments, and security policies themselves—using Kyverno's privileged background controller. This allows an attacker with limited permissions to gain complete control over cluster resources.

Technologies: [Kyverno](https://junglewise.ai/threats/technologies/kyverno). Vendors: [Kyverno](https://junglewise.ai/threats/vendors/kyverno).

## Quick answers

**Is CVE-2026-122303 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-122303 being exploited in the wild.

**How severe is CVE-2026-122303?** Critical severity, with a CVSS score of 9.9, published 5 November 2026.

**Which products and versions are affected?** Kyverno 1.17.0 before 1.19.2.

**Is there a fix for CVE-2026-122303?** Yes: fixed in 1.19.2. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-122303 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-122303?** Check whether you run Kyverno at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 1.19.2

## Technical details

The vulnerability exists in NamespacedMutatingPolicy with mutate-existing evaluation enabled, where a raw CEL expression in targetMatchConstraints.expression can fabricate a target object with an arbitrary metadata.namespace field. The background processor resolves these targets without namespace confinement checks and applies mutations via the privileged background ServiceAccount with no per-target authorization validation. Additionally, a secondary escape permits cluster-wide mutation of Namespace objects when the target kind is Namespace.

## Affected products

- Kyverno Kyverno 1.17.0 before 1.19.2

## Timeline

- 2026-10-21: disclosed
- 2026-11-05: advisory

## References

- [https://github.com/kyverno/kyverno/security/advisories/GHSA-jcw5-3wcg-fqx5](https://github.com/kyverno/kyverno/security/advisories/GHSA-jcw5-3wcg-fqx5)
- [https://www.vulncheck.com/advisories/kyverno-1.17.0-before-1.19.2-cross-namespace-resource-overwrite-via-namespacedmutatingpolicy](https://www.vulncheck.com/advisories/kyverno-1.17.0-before-1.19.2-cross-namespace-resource-overwrite-via-namespacedmutatingpolicy)

## Related threats

- [Kyverno authorization bypass in generate rule validation](https://junglewise.ai/threats/cve-2026-124441-kyverno-before-1-19-2-contains-an-authorization-bypass)
- [Kyverno apiCall authorization bypass in namespace clamp](https://junglewise.ai/threats/cve-2026-124440-kyverno-from-1-19-1-before-1-19-2-contains-an-authorization)
- [Kyverno unbounded decompression in notary signature fetch](https://junglewise.ai/threats/cve-2026-122323-kyverno-from-1-11-0-before-1-19-2-contains-an-unbounded)
- [Kyverno verifyImages signature verification bypass via cache](https://junglewise.ai/threats/cve-2026-122321-kyverno-1-18-0-before-1-19-2-contains-a-signature-verification)
- [Kyverno missing authorization in generate.clone namespace](https://junglewise.ai/threats/cve-2026-122320-kyverno-before-1-19-2-contains-a-missing-authorization)
