CVE-2026-122308: Kyverno authorization bypass in Generation Handler

CVE-2026-122308 · Severity: high · CVSS 8.5 · Published 2026-11-05

Kyverno is a policy engine that automates resource generation and synchronization in Kubernetes clusters. A flaw in its Generation Handler allows users with basic create/update permissions to spoof internal labels and trick the system into cloning sensitive Secrets from restricted namespaces into their own namespace, bypassing authorization controls. An attacker could steal confidential data like API keys, database credentials, or TLS certificates stored in Kubernetes Secrets across the cluster.

Technologies: Kyverno. Vendors: Kyverno.

Quick answers

Is CVE-2026-122308 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-122308 being exploited in the wild.
How severe is CVE-2026-122308?
High severity, with a CVSS score of 8.5, published 5 November 2026.
Which products and versions are affected?
Kyverno before 1.19.2.
Is there a fix for CVE-2026-122308?
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-122308 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-122308?
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 Generation Handler's processRequest function (pkg/webhooks/resource/generation/handler.go) fails to validate that internal generate.kyverno.io/* labels were set by Kyverno itself, instead trusting user-supplied labels to determine which policies and rules to trigger. An authenticated user with create/update permissions can label a resource as managed-by kyverno with crafted policy-name, rule-name, and trigger-* labels to execute synchronized generate (clone) rules, causing Kyverno's privileged background controller to copy secrets from restricted namespaces into the attacker's namespace. The background controller does re-validate the trigger resource against policy match criteria, but this occurs after the exploit window closes for pre-existing triggers or resource kinds the attacker cannot normally create.

Affected products

  • Kyverno Kyverno before 1.19.2

Timeline

  • 2026-10-21: disclosed: GitHub Security Advisory published
  • 2026-11-05: advisory: NVD advisory published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.