# CVE-2026-122305: Kyverno admission webhook denial of service in variable substitution

Source: https://junglewise.ai/threats/cve-2026-122305-kyverno-before-1-19-2-contains-a-denial-of-service-vulnerability  
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-122305 · Severity: high · CVSS 7.7 · Published 2026-11-05

Kyverno is a policy engine that validates and mutates Kubernetes resources through admission webhooks. A low-privileged user can permanently hang these webhooks by creating resources with annotations that trigger infinite variable substitution loops, causing the webhook to consume CPU and memory until the pod crashes and cluster-wide admission control fails.

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

## Quick answers

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

**How severe is CVE-2026-122305?** High severity, with a CVSS score of 7.7, published 5 November 2026.

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

**Is there a fix for CVE-2026-122305?** 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-122305 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-122305?** 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 substituteVariablesIfAny function in pkg/engine/variables/vars.go contains an unbounded loop that re-scans substituted values for nested template patterns without an iteration or depth limit. When an attacker-controlled annotation value re-introduces the same variable template (e.g., annotation x contains the pattern {{request.object.metadata.annotations.x}}), the loop never terminates, causing unbounded memory growth and CPU exhaustion. An authenticated user with resource creation permissions in a namespace matched by a vulnerable policy can trigger this condition.

## Affected products

- Kyverno Kyverno before 1.19.2

## Timeline

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

## References

- [https://github.com/kyverno/kyverno/security/advisories/GHSA-338x-hgrv-626h](https://github.com/kyverno/kyverno/security/advisories/GHSA-338x-hgrv-626h)
- [https://www.vulncheck.com/advisories/kyverno-before-1.19.2-denial-of-service-via-nested-variable-substitution-loop](https://www.vulncheck.com/advisories/kyverno-before-1.19.2-denial-of-service-via-nested-variable-substitution-loop)

## 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)
