Skip to main content

Kyverno CVE-2026-41485

| EUVDEUVD-2026-25392 HIGH
Reachable Assertion (CWE-617)
2026-04-24 GitHub_M GHSA-fpjq-c37h-cqcv
7.7
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain credentials with Policy creation permissions
  2. Delivery
    Craft malformed forEach mutation policy
  3. Exploit
    Submit policy to Kubernetes API
  4. Install
    Background controller processes policy
  5. C2
    Type assertion fails triggering crash
  6. Execute
    Controller enters CrashLoopBackOff
  7. Impact
    Admission webhook blocks matching resource operations
  8. Step 8
    Cluster-wide denial of service persists

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V16 - Security Logging and Error Handling Reachable assertion handling
Exploitation Conditions

Requires Kubernetes RBAC permissions to create Policy or ClusterPolicy custom resources in the cluster - typically granted only to platform administrators, SREs, or DevOps teams managing policy enforcement. Does NOT require cluster-admin or elevated node access, just namespace-level policy creation rights for Policy objects or cluster-level rights for ClusterPolicy. Exploitation limited to clusters running vulnerable Kyverno versions (pre-1.17.2 or pre-1.16.4) with the legacy policy engine enabled. Only affects resources and controllers processing legacy policy DSL - CEL-based policy engine is immune. Attack succeeds against default Kyverno configurations without requiring specific feature flags or non-standard deployment modes. Primary limiting factor is RBAC boundary: in well-configured clusters, policy creation is restricted to trusted identities; in multi-tenant or loosely controlled environments where developers have broad policy permissions, the attack surface expands significantly.

Impact

Real-world risk is moderate despite 7.7 CVSS score. The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H) correctly reflects network-accessible low-complexity attack requiring only low privileges, with Changed scope due to cluster-wide controller crash and High availability impact. However, exploitation requires RBAC permissions to create policies - a privilege typically restricted to platform administrators, not regular users. EPSS data not provided but expected to be low given the narrow privilege requirement. No CISA KEV listing indicates this is not being exploited at scale. Public exploit code exists via the referenced GitHub commits showing the exact vulnerability pattern. Primary risk is insider threat or compromised service accounts with policy management permissions. For multi-tenant Kubernetes environments where multiple teams manage their own policies via isolated namespaces, this becomes more concerning as any tenant with ClusterPolicy permissions can DOS the entire cluster. Organizations without strict RBAC controls on policy creation face higher practical risk than the 7.7 score alone suggests.

Exploit ScenarioDerived

An attacker with Policy creation permissions (either through compromised credentials or insider access) crafts a Kyverno policy with a malformed forEach mutation structure that triggers the unchecked type assertion. Upon policy creation, the cluster-wide background controller attempts to reconcile the policy, encounters the type assertion failure, and crashes into CrashLoopBackOff. Simultaneously, the admission webhook fails when processing any resources matching the policy's criteria, blocking legitimate operations like pod deployments. The denial of service persists across controller restarts until an administrator identifies and deletes the malicious policy, during which time affected workload deployments are completely blocked.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 24, 2026

A type assertion bug in Kyverno's forEach mutation handler crashes the cluster-wide background controller into CrashLoopBackOff and blocks admission controller operations, causing denial of service for policy-matched resources. Any authenticated user with Policy or ClusterPolicy creation permissions can trigger the crash by creating a malformed policy. The vulnerability affects Kyverno versions prior to 1.17.2 and 1.16.4, is limited to the legacy policy engine (CEL-based policies unaffected), and persists until the malicious policy is deleted. Vendor-released patches available with confirmed fix commits on GitHub.

RemediationAI

Upgrade to Kyverno version 1.17.2 or later for 1.17.x deployments, or version 1.16.4 or later for 1.16.x deployments. The fix is implemented in commits 76c8fdbe87328722e099e1fd44c3f21c9f7809cb and 80e728c2283a0c65e5adb02d8a907106e6ebe7e3 available at the referenced GitHub URLs. As an immediate workaround prior to patching, implement strict RBAC controls limiting Policy and ClusterPolicy creation permissions to only highly trusted administrators - use Kubernetes admission controllers or OPA Gatekeeper to enforce least-privilege on policy management. If a crash loop is already occurring, identify and delete the malformed policy via kubectl to restore controller operation, then investigate how unauthorized policy creation occurred. Migrating legacy policies to CEL-based format eliminates exposure to this vulnerability class but requires policy rewriting effort and testing. Organizations using managed Kyverno deployments should consult their platform provider for patch application timelines.

Affected VersionsENISA

kyverno < 1.16.4
kyverno 1.17.0-rc1, < 1.17.2

Affected Packages

go github.com/kyverno/kyverno fix: 1.16.4, 1.17.2
euvd kyverno fix: 1.16.4
euvd kyverno_1_17_0_rc1 fix: 1.17.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in go, 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 validates, mutates, and generates resources. The vulnerability (CWE-617: Reachable Assertion) exists in the legacy policy engine's forEach mutation handler, where an unchecked type assertion causes a runtime panic when processing malformed policy objects. The background controller, which reconciles policy state cluster-wide, enters CrashLoopBackOff when the assertion fails, while the admission webhook drops connections attempting to process matching resources. This affects the legacy policy DSL; the newer CEL (Common Expression Language) policy engine uses different code paths and remains unaffected. The CPE identifier cpe:2.3:a:kyverno:kyverno indicates all Kyverno instances below the patched versions are vulnerable regardless of Kubernetes distribution.

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

GitHub Advisory PRIMARY 7.7 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H
SUSE HIGH

Primary rating from GitHub Advisory.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
Patch released
Apr 27, 2026 - 17:54 nvd
Patch available
Patch available
Apr 24, 2026 - 05:31 EUVD
CVE Published
Apr 24, 2026 - 03:27 nvd
HIGH 7.7

DescriptionGitHub Advisory

Kyverno is a policy engine designed for cloud native platform engineering teams. Prior to versions 1.17.2 and 1.16.4, an unchecked type assertion in the forEach mutation handler allows any user with permission to create a Policy or ClusterPolicy to crash the cluster-wide background controller into a persistent CrashLoopBackOff. The same bug also causes the admission controller to drop connections and block all matching resource operations. The crash loop persists until the policy is deleted. The vulnerability is confined to the legacy engine, and CEL-based policies are unaffected. Versions 1.17.2 and 1.16.4 fix the issue.

Executive ViewAI

Why It Matters

Kyverno versions prior to 1.17.2 and 1.16.4 contain a type assertion bug that allows authenticated users with policy creation permissions to crash the cluster-wide background controller and block admission control operations, effectively disabling policy enforcement across the cluster until the malicious policy is removed. This denial-of-service vulnerability directly impacts any organization using Kyverno for Kubernetes policy governance and could prevent legitimate policy validations from executing.

Business Impact: High
Compensating Controls

Vendor-released patch: Kyverno 1.17.2 and 1.16.4. Until patching is completed: (1) Restrict RBAC permissions for ClusterPolicy and Policy resource creation to trusted administrators only; (2) Monitor kyverno-background-controller for CrashLoopBackOff state and configure alerts; (3) Prepare runbook to quickly delete malicious policies if crash occurs; (4) Migrate policy rules to CEL-based policies which are not affected by this vulnerability.

Threat Intelligence Overview

EPSS Score
0.0%
Top 89% exploitable
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-22039 CRITICAL POC
9.9 Jan 27

Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass

CVE-2026-54523 CRITICAL POC
9.6 Aug 26

Cross-namespace privilege escalation in Kyverno 1.18.0-1.18.1 lets any tenant who can create a NamespacedMutatingPolicy

CVE-2024-48921 HIGH POC
8.7 Oct 29

Kyverno is a policy engine designed for Kubernetes. Rated high severity (CVSS 8.7), this vulnerability is remotely explo

CVE-2025-46342 HIGH POC
8.5 Apr 30

Kyverno is a policy engine designed for cloud native platform engineering teams. Rated high severity (CVSS 8.5), this vu

CVE-2026-23881 HIGH POC
7.7 Jan 27

Kyverno versions up to 1.16.3 is affected by allocation of resources without limits or throttling (CVSS 7.7).

CVE-2025-29778 MEDIUM POC
5.8 Mar 24

Kyverno is a policy engine designed for cloud native platform engineering teams. Rated medium severity (CVSS 5.8), this

CVE-2026-4789 CRITICAL
9.8 Mar 30

Kyverno versions 1.16.0 and later contain a server-side request forgery vulnerability in unrestricted CEL HTTP functions

CVE-2026-100706 CRITICAL
9.4 Sep 26

Privilege escalation in Kyverno before 1.19.1 allows an authenticated Kubernetes namespace tenant with Policy/apiCall au

CVE-2026-84200 CRITICAL
9.4 Sep 01

Policy enforcement bypass in Kyverno v1.9.0 through v1.12.7 lets an authenticated Kubernetes user evade an enforce-mode

CVE-2023-33191 HIGH
8.8 May 30

Kyverno is a policy engine designed for Kubernetes. Rated high severity (CVSS 8.8), this vulnerability is remotely explo

CVE-2026-100707 HIGH
8.3 Sep 26

Cross-namespace information disclosure in Kyverno before 1.19.1 allows an authenticated low-privilege tenant to read res

CVE-2026-84195 HIGH
8.3 Sep 01

Credential leakage in Kyverno's apiCall service mode automatically forwards the Kubernetes admission controller's Servic

Vendor StatusVendor

SUSE

Severity: High

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy