Advisory · CVE-2026-122308
Spoofed generate labels let Kyverno clone Secrets across namespaces
Kyverno before 1.19.2 has an authorization bypass in the Generation Handler: users with create or update permissions can trigger synchronized generate policies by spoofing internal generate.kyverno.io labels and clone sensitive Secrets from restricted namespaces. Kyverno rates it CVSS 3.1 8.5.
- Vendor
- Kyverno
- Product
- Kyverno
- Identifier / CWE
- CVE-2026-122308
CWE-639 - Action timing
- Immediate
Explain it like I’m five
Kyverno trusts labels that say 'I am managed by Kyverno'. Anyone can stick those labels on their own ConfigMap and trick the generator into copying Secrets into their namespace.
- 01Labels spoofed
An attacker labels a ConfigMap as managed-by kyverno with crafted policy, rule, and trigger labels.
- 02Handler trusts the labels
The Generation Handler treats the spoofed labels as internal generate.kyverno.io markers.
- 03Synchronized generate triggered
A synchronized generate policy fires on the attacker's say-so.
- 04Secrets cloned
Sensitive Secrets are cloned from restricted namespaces into the attacker's own namespace.
What happened
Kyverno disclosed CVE-2026-122308 for Kyverno before 1.19.2. The Generation Handler has an authorization bypass: users with create or update permissions can trigger synchronized generate policies by spoofing internal generate.kyverno.io labels. An attacker can label a ConfigMap as managed-by kyverno with crafted policy, rule, and trigger labels to clone sensitive Secrets from restricted namespaces into their own namespace.
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, watch for ConfigMaps carrying generate.kyverno.io labels outside Kyverno-managed flows.
- Review Kubernetes audit logs for generate triggers and for Secrets copied into unexpected namespaces.
- Check whether Secrets appeared in namespaces that should not hold them and rotate any that did.
Management note
Internal labels are not an access control mechanism, and this flaw proves it. Any Secret that could be generated into another namespace should be treated as exposed until the audit log clears it.