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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-862"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54523.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "1.18.0"
},
{
"fixed": "1.18.2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "0919553c0ea1904f8d891280c92018da97946a06"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "5164bcdeda5b57678bc2d7a03ecc2cbb02982dae"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v1.18.2",
"range": [
{
"fixed": "945ac9ce8546ea6cd51370f24b615148c577da5e"
}
],
"source": "REFERENCES_TAG"
}
]
}