Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain namespaced deploy rights (PR:L)
-
DeliveryRely on or create matching PolicyException
-
ExploitEvaluator skips spec.images/allowedValues
-
ExecutionSignature verification bypassed for whole resource
-
ImpactUnsigned/malicious image admitted to cluster
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires Kyverno 1.14.0-1.19.0 actively enforcing image signature verification via the ImageValidatingPolicy resource (policies.kyverno.io/v1beta1), AND the existence of a PolicyException whose policyRefs and matchConditions match the target resource. The attacker needs authenticated Kubernetes API access sufficient to deploy or modify workloads matched by that exception (PR:L); the bug does not grant new access, it silently disables verification. Limiting factors: clusters that do not use ImageValidatingPolicy, do not define PolicyExceptions, or do not rely on signature verification are unaffected; ValidatingPolicy, GeneratingPolicy, and MutatingPolicy correctly treat these fields as partial exemptions and are not impacted. The flaw is a fail-open logic error triggered whenever a matching PolicyException is present, not a payload-crafting exploit. |
| Impact | This is a genuine policy-enforcement bypass in a Kubernetes admission-control engine, but it is a targeted integrity issue rather than a mass-exploited threat. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N, 8.3) is internally consistent with the description: network-reachable Kubernetes API, low complexity, low privileges (an authenticated principal able to create/apply PolicyException and workload resources), no user interaction, and integrity-only impact (untrusted images admitted) with no confidentiality or availability loss. No EPSS score, no CISA KEV listing, and no public POC are present in the supplied data, so exploitation likelihood cannot be quantified from these sources; absence of those signals is expected for a freshly disclosed logic flaw and does not indicate low risk on its own. The realistic risk is 'defense-in-depth control silently failing': the flaw only matters where an operator relies on Kyverno ImageValidatingPolicy signature verification AND a PolicyException exists (or an attacker with rights to create one exists). It is not a remote-unauthenticated code-execution bug, so it is a real supply-chain integrity priority for signature-enforcing clusters but not an internet-wide emergency. Note the CVSS is 4.0-only; no 3.1 vector was supplied for cross-checking. |
| Exploit ScenarioDerived | In a cluster where Kyverno (1.14.0-1.19.0) enforces image signature verification via ImageValidatingPolicy, a team creates a PolicyException intended to exempt one trusted image using spec.images/spec.allowedValues. Because the evaluator ignores those fields, the exception disables signature verification for the entire matched resource, so an attacker (or a careless workload owner) can then deploy a pod containing unsigned or malicious images that are admitted without verification. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 26, 2026
Kyverno 1.14.0 through 1.19.0 fail open in a way that lets unsigned or untrusted container images be admitted to a Kubernetes cluster: the ImageValidatingPolicy evaluator silently ignores the spec.images and spec.allowedValues fields of a PolicyException, so any exception whose policyRefs and matchConditions match a resource disables image signature verification for that entire resource rather than only for the named images or values. An authenticated user with Kubernetes API rights sufficient to deploy or modify workloads covered by such an exception (CVSS PR:L) can therefore bypass signature enforcement without obtaining any new privileges - the flaw simply turns a narrow, trust-anchored carve-out into a blanket exemption. No public exploit code identified at time of analysis, and the vendor has released a fix in Kyverno 1.19.1; scope is limited to clusters that actively enforce signature verification through ImageValidatingPolicy and define matching PolicyExceptions.
RemediationAI
Upgrade to Kyverno 1.19.1, the version in which the ImageValidatingPolicy evaluator honors spec.images and spec.allowedValues and confines an exception to its declared scope (vendor-released patch: 1.19.1); advisory details are at https://github.com/kyverno/kyverno/security/advisories/GHSA-5cjf-wwfg-pj4c and https://www.vulncheck.com/advisories/kyverno-before-1.19.1-imagevalidatingpolicy-exception-bypass. If immediate upgrade is not possible, the highest-value compensating control is to enumerate every PolicyException whose policyRefs target an ImageValidatingPolicy and either delete those exceptions or narrow matchConditions so they no longer match production workloads - the trade-off is that legitimate trusted-image carve-outs will start failing admission until the upgrade, so verify expected image signatures before removing them. Additionally, tighten RBAC so that only a tightly scoped break-glass role can create or modify PolicyException objects (ideally with admission review or GitOps approval on that CRD), which limits the blast radius of any exception that remains in place but does not fix the fail-open behavior itself. Where signature policy can be expressed without PolicyExceptions, prefer equivalent ValidatingPolicy rules, which are not affected by this defect, or enforce signature verification in a second admission layer (for example a separate verifier) so that a single ignored field cannot disable enforcement cluster-wide.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Kyverno is a Kubernetes-native policy engine that acts as a validating admission controller, intercepting API server requests before objects are persisted. Version 1.14.0 introduced the ImageValidatingPolicy CRD (group policies.kyverno.io/v1beta1), which verifies container image signatures (for example cosign/Notation attestations) using the policy's image references. PolicyException is the sanctioned escape hatch: an administrator writes an exception object listing policyRefs plus matchConditions, and - for other rule types - spec.images and spec.allowedValues to scope the exemption to specific images or parameter values. The ImageValidatingPolicy code path never reads those two fields, so the exception degenerates into an unconditional allow for every image on the matched resource. The root cause is therefore a logic/incomplete-evaluation defect classified as CWE-863 (Incorrect Authorization): the exception's authorization scope is evaluated incorrectly and defaults to permissive, producing a fail-open outcome. It is distinct from ValidatingPolicy, GeneratingPolicy, and MutatingPolicy in the same product, which correctly honor spec.images and spec.allowedValues as partial exemptions - so mixed-policy clusters can appear healthy while signature enforcement under ImageValidatingPolicy is quietly defeated. The CPE cpe:2.3:a:kyverno:kyverno:*:*:*:*:*:*:*:* reflects that the vulnerable code is version-bounded rather than tied to a specific build; EUVD corroborates the range as 1.14.0 up to (but not including) 1.19.1.
Know when Kyverno gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N
Network-reachable API with low-privileged deploy rights (PR:L); admission control (a security authority) is bypassed affecting other cluster resources so S:C; integrity-only impact (I:H), no C or A loss.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
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.
Articles & Coverage 1
Technical POC Analysis
Advisory: GHSA-5cjf-wwfg-pj4c (kyverno/kyverno).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Clusters running Kyverno versions 1.14.0 through 1.19.0 and relying on it to enforce container image signature verification may be silently admitting unsigned or untrusted images, undermining the software supply chain control the platform was deployed to provide. Because the weakness can be exercised by any authenticated user or service account holding ordinary workload deployment rights-not just privileged administrators-the exposure extends to a broad population of internal actors, and the failure is silent, so it can persist without appearing in audit or security dashboards. Leadership should treat the integrity of the Kubernetes admission pipeline itself as the affected asset, particularly where regulated or customer-facing workloads depend on signed images.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass
Cross-namespace privilege escalation in Kyverno 1.18.0-1.18.1 lets any tenant who can create a NamespacedMutatingPolicy
Kyverno is a policy engine designed for Kubernetes. Rated high severity (CVSS 8.7), this vulnerability is remotely explo
Kyverno is a policy engine designed for cloud native platform engineering teams. Rated high severity (CVSS 8.5), this vu
Kyverno versions up to 1.16.3 is affected by allocation of resources without limits or throttling (CVSS 7.7).
Kyverno is a policy engine designed for cloud native platform engineering teams. Rated medium severity (CVSS 5.8), this
Kyverno versions 1.16.0 and later contain a server-side request forgery vulnerability in unrestricted CEL HTTP functions
Privilege escalation in Kyverno before 1.19.1 allows an authenticated Kubernetes namespace tenant with Policy/apiCall au
Policy enforcement bypass in Kyverno v1.9.0 through v1.12.7 lets an authenticated Kubernetes user evade an enforce-mode
Kyverno is a policy engine designed for Kubernetes. Rated high severity (CVSS 8.8), this vulnerability is remotely explo
Cross-namespace information disclosure in Kyverno before 1.19.1 allows an authenticated low-privilege tenant to read res
Credential leakage in Kyverno's apiCall service mode automatically forwards the Kubernetes admission controller's Servic
EUVD-2026-87677
GHSA-435c-9ffq-3prr
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB