Description
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.
Published: 2026-11-05
Score: 8.3 High
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Patch Now
AI Analysis

Impact

Kyverno’s substituteVariablesIfAny function contains a loop that can run indefinitely when annotations reference the policy variable itself. A low‑privileged user can craft a resource whose annotation re‑introduces this variable, causing the webhook to cycle through substitutions, consume CPU and memory, and halt admission of new resources cluster‑wide.

Affected Systems

Kyverno versions before 1.19.2 are vulnerable. The issue is present in any Kyverno deployment that uses the admission webhook to process custom resource annotations.

Risk and Exploitability

The CVSS score of 8.3 signals high severity. The exploit requires only the ability to create resources with specific annotations, without elevated privileges. While the EPSS score is not available and the vulnerability is not listed in CISA KEV, the clear attack path suggests that ordinary cluster users could trigger the denial‑of‑service condition.

Generated by OpenCVE AI on November 5, 2026 at 03:29 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update Kyverno to version 1.19.2 or later or a later patched release
  • If an upgrade is not immediately possible, configure admission policies to disallow annotations that reference the policy variable; alternatively disable nested variable substitution features if the API permits
  • Monitor the admission webhook’s CPU and memory usage and set alerts for abnormal consumption to detect abuse before a full DoS occurs

Generated by OpenCVE AI on November 5, 2026 at 03:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 05 Nov 2026 02:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Kyverno before 1.19.2 Denial of Service via Nested Variable Substitution Loop
First Time appeared Kyverno
Kyverno kyverno
Weaknesses CWE-835
CPEs cpe:2.3:a:kyverno:kyverno:*:*:*:*:*:*:*:*
Vendors & Products Kyverno
Kyverno kyverno
References
Metrics cvssV3_1

{'score': 7.7, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H'}

cvssV4_0

{'score': 8.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-11-05T02:25:09.571Z

Reserved: 2026-11-04T23:23:51.290Z

Link: CVE-2026-122305

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-05T03:17:22.527

Modified: 2026-11-05T03:17:22.527

Link: CVE-2026-122305

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-05T04:00:14Z

Weaknesses
  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')