Jan 6, 2026·7 min read·3 visits
Kyverno v1.9.0 through v1.12.7 has a critical logic flaw in handling multiple `PolicyException` objects. If an administrator defines a specific exception (e.g., "allow in namespace A") and a broad exception (e.g., "allow pods named *ingress*"), Kyverno treats these as a simple OR condition. An attacker can deploy a malicious payload in a restricted namespace simply by matching the name pattern of the broad exception, bypassing policies like `disallow-host-path` and gaining potential root access to nodes.
A logic flaw in Kyverno's policy engine allows attackers to bypass critical security enforcement by exploiting how the system aggregates multiple PolicyException resources. By crafting resources that match broad exception patterns (like names), attackers can evade namespace-specific restrictions.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H| Product | Affected Versions | Fixed Version |
|---|---|---|
Kyverno Kyverno | >= 1.9.0, <= 1.12.7 | 1.13.0 |
| Attribute | Detail |
|---|---|
| Severity | Critical (9.0) |
| Attack Vector | Network (Kubernetes API) |
| Bug Class | Logic Error / Improper Policy Composition |
| Affected Versions | v1.9.0 - v1.12.7 |
| Privileges Required | Low (Create Pods) |
| Status | Patched |
The product does not correctly calculate or handle the union of multiple permission/exception sets, leading to unintended access.