CVE-2026-100704: Kyverno before 1.19.1 ImageValidatingPolicy Exception Bypass
Kyverno is a policy engine for Kubernetes. In versions 1.14.0 through 1.19.0, the ImageValidatingPolicy (policies.kyverno.io/v1beta1) evaluator never reads the spec.images and spec.allowedValues fields of a PolicyException. Any PolicyException whose policyRefs and matchConditions match a resource causes image signature verification to be skipped for the entire resource rather than only for the listed images or values, so an exception intended to exempt a single trusted image exempts every image on the matched resource(s). As a result, unsigned or untrusted images can be admitted to the cluster without signature verification. This differs from ValidatingPolicy, GeneratingPolicy, and MutatingPolicy, which treat the same field as a partial exemption. The issue is fixed in version 1.19.1.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Kyvernoto a version that resolves this vulnerability.Fixed in 1.19.1
Event History
Frequently Asked Questions
Which deployments are affected?
Kyverno versions 1.14.0 through 1.19.0 are affected when they use ImageValidatingPolicy resources and PolicyException objects that match the relevant resources.
What conditions make an image-verification bypass possible?
A PolicyException must have policyRefs and matchConditions that match a resource. In affected versions, its spec.images and spec.allowedValues restrictions are ignored, causing signature verification to be skipped for every image on that matched resource.
How can I determine whether existing exceptions create exposure?
Review PolicyException objects associated with ImageValidatingPolicy policies. Any exception intended to exempt only specific images or allowed values can instead exempt all images on resources matched by its policyRefs and matchConditions.
What should be done to remediate the issue?
Upgrade Kyverno to version 1.19.1. Until upgrading, avoid relying on spec.images or spec.allowedValues to limit ImageValidatingPolicy exceptions, because those fields do not constrain the exception in affected versions.