Auth bypass in Kyverno

CVE-2026-54523

Kyverno is a policy engine designed for cloud native platform engineering teams. From 1.18.0 until 1.18.2, the NamespacedMutatingPolicy CEL compiler exposes the generator library to matchConditions, allowing a namespace-scoped policy to invoke generator.apply(namespace, resources) with an arbitrary target namespace. The validation in pkg/cel/policies/mpol/validate.go checks that the policy compiles but does not enforce namespace scope, and GenerateResources in pkg/cel/libs/context.go does not reject the cross-namespace target. A user who can create NamespacedMutatingPolicy objects in one namespace can cause the admission controller, operating with cluster-wide privileges, to create ConfigMaps, NetworkPolicies, Secrets, RoleBindings, and other resources in another namespace, enabling unauthorized modification and potential privilege escalation. This issue is fixed in version 1.18.2.

Vulnerability class: Broken Access Control

CVSS v3 metric

CVSS v3 base score 9.6 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N.

Affected products

  • Kyverno — versions >= 1.18.0, < 1.18.2

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-54523?
CVE-2026-54523 is a critical-severity vulnerability in Kyverno, classified under Missing Authorization. CVSS score: 9.6/10. Published 2026-08-26.
How severe is CVE-2026-54523?
Critical severity. CVSS v3 base score is 9.6 out of 10.