Denial of service in Kyverno via nested variable substitution loop
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-835.
Summary
Kyverno before 1.19.2 contains a denial of service flaw in substituteVariablesIfAny, where a loop has no reachable exit condition (CWE-835). A low-privileged user can create resources whose annotations re-introduce the embedded policy variable, causing unbounded substitution loops that exhaust CPU and memory and block cluster-wide admission through the admission webhook.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
Kyverno before 1.19.2 contains a denial of service vulnerability in substituteVariablesIfAny that allows low-privileged users to hang the admission webhook via self-referential variable templates. Attackers can create resources whose annotations re-introduce the embedded policy variable, causing unbounded substitution loops that exhaust CPU and memory and block cluster-wide admission.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Upgrade kyverno to version 1.19.2 or later, which fixes the flaw.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA kyverno (kyverno) Fixed in 1.19.2
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
kyverno 1.19.2
21 records Highest priority Priority MEDIUM 6 MEDIUM, 15 LOW
Other records, highest priority first
- TI-2026-85289 Kyverno path traversal in namespaced CEL policies reaches cluster objectsPriority MEDIUM 41
- TI-2026-85282 Authorization bypass in Kyverno lets namespace admins read SecretsPriority MEDIUM 41
- TI-2026-85291 Privilege escalation in Kyverno lets tenants mutate other namespacesPriority MEDIUM 40
Vendor assessments
Timeline
- 2026-11-05 Threatist record created from CVE-2026-122305
- 2026-11-05 Alias added: GHSA-vh8f-cmpp-9cv2
- 2026-11-06 Priority changed: MEDIUM → LOW
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
References
More kyverno vulnerabilities
- TI-2024-32618 Kyverno's PolicyException objects can be created in any namespace by default CVSS 4.0HIGH 8.7
- TI-2026-57895 Kyverno before v1.13.0 Policy Bypass via Multiple Exceptions CVSS 4.0CRITICAL 9.4
- TI-2026-39369 Missing authorization in kyverno CVSS 3.1CRITICAL 9.6
- TI-2026-17733 Kyverno Cross-Namespace Privilege Escalation via Policy apiCall CVSS 3.1CRITICAL 10.0
- TI-2026-29924 Kyverno: ServiceAccount token leaked to external servers via apiCall service URL CVSS 3.1CRITICAL 9.1
- TI-2026-29524 kyverno apicall servicecall implicit bearer token injection leaks kyverno serviceaccount token CVSS 3.1HIGH 8.1
Sources
- CVE-2026-122305 · CVE Program
- CVE-2026-122305 · NVD
- FIRST EPSS
- GHSA-vh8f-cmpp-9cv2 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-122305 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences