Read the docs

Denial of service in Kyverno via nested variable substitution loop

Priority LOW 36CWE-835Published · Updated

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

EPSS 0.00301 22nd percentileScored 2026-11-07
Fix Fixed kyverno (kyverno): 1.19.2

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
kyvernokyvernobefore 1.19.21.19.2Patch availableCNA
  • kyverno Vendorkyverno Affected before 1.19.2 Fixed in 1.19.2 Patch available CNA

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

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-11-05 Threatist record created from CVE-2026-122305
  2. 2026-11-05 Alias added: GHSA-vh8f-cmpp-9cv2
  3. 2026-11-06 Priority changed: MEDIUM → LOW
  4. 2026-11-06 Affected versions changed · Red Hat
  5. 2026-11-06 CVSS score added · Red Hat

References

  • 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
See all 52 →

Sources