Skip to main content

Kyverno CVE-2026-41323

| EUVDEUVD-2026-25389 HIGH
Information Exposure (CWE-200)
2026-04-24 GitHub_M GHSA-f9g8-6ppc-pqq4
8.1
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

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

  1. Recon
    Obtain authenticated K8s access
  2. Delivery
    Create malicious ClusterPolicy with attacker-controlled apiCall URL
  3. Exploit
    Trigger policy evaluation via resource creation
  4. Install
    Kyverno sends ServiceAccount token to attacker server
  5. C2
    Capture token from HTTP request
  6. Execute
    Authenticate to K8s API with stolen token
  7. Impact
    Patch webhook configuration for persistence
  8. Step 8
    Achieve cluster-wide code execution

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Attacker must possess authenticated Kubernetes API access with RBAC permissions to create or modify ClusterPolicy resources (PR:L), which typically requires namespace-admin or policy-author roles in organizations using Kyverno. The Kyverno admission controller must have network egress capability to reach attacker-controlled servers, which is default in most Kubernetes deployments unless restrictive NetworkPolicies are enforced. The apiCall feature must be enabled in ClusterPolicy configurations, which is a standard Kyverno capability used for external data lookups during policy evaluation. Exploitation is limited by the need for initial authenticated cluster access and ClusterPolicy modification permissions, but these are commonly granted in multi-tenant environments where namespace owners author their own policies. No user interaction required (UI:N) once the malicious policy is created. Default Kyverno installations without additional RBAC hardening or egress restrictions are exploitable.

Impact

Real-world risk is HIGH despite requiring authenticated access (PR:L). CVSS 8.1 accurately reflects the severity given network attack vector (AV:N), low complexity (AC:L), and high confidentiality/integrity impact. The privilege requirement is deceptive - any authenticated Kubernetes user with permission to create or modify ClusterPolicy resources can exploit this, which in many clusters includes namespace administrators or policy authors. The attack is automatable once initial policy creation access is obtained, and the impact is cluster-wide compromise through webhook manipulation. SSVC decision would likely classify as Scheduled or Out-of-Cycle given the straightforward exploitation path and severe technical impact (total control over admission control). The information disclosure tag understates the severity - while technically token exfiltration, the stolen credential provides full cluster admin capabilities. No EPSS or KEV data provided, but the low attack complexity and clear exploitation path to cluster compromise warrant immediate patching. The availability of patches across three version branches (1.16.x, 1.17.x, 1.18.x) indicates vendor acknowledgment of criticality.

Exploit ScenarioDerived

An attacker with namespace-admin privileges in a multi-tenant Kubernetes cluster creates a malicious ClusterPolicy containing an apiCall directive pointing to their controlled server (attacker.example.com). When Kyverno's admission controller evaluates this policy during a pod creation event, it automatically makes an HTTP request to the attacker's server with the ServiceAccount bearer token in the Authorization header. The attacker captures the token, uses it to authenticate to the Kubernetes API server with admission controller privileges, then patches the MutatingWebhookConfiguration to inject malicious code into all pod deployments cluster-wide, achieving persistent cluster compromise.

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

Kyverno's apiCall feature automatically attaches the admission controller's ServiceAccount token to HTTP requests without validating the destination URL, enabling authenticated attackers to exfiltrate tokens to attacker-controlled servers and achieve full cluster compromise through webhook configuration tampering. Affects Kyverno versions prior to 1.18.0-rc1, 1.17.2-rc1, and 1.16.4. Vendor-released patches available across all three affected version branches. EPSS data not provided, but the vulnerability enables privilege escalation from low-privilege Kubernetes user to cluster admin via token theft, representing critical risk in multi-tenant environments.

RemediationAI

Upgrade Kyverno to patched versions: 1.18.0-rc1 or later for 1.18.x deployments, 1.17.2-rc1 or later for 1.17.x deployments, or 1.16.4 or later for 1.16.x deployments. Patches implement URL validation and restrict ServiceAccount token attachment in apiCall features per commits bc4f91c, c2eab00, and f70e8ac. If immediate patching is not feasible, implement compensating controls by restricting ClusterPolicy create/update RBAC permissions to only highly trusted administrators (reducing attack surface to PR:H effectively), deploying network policies to block egress from the kyverno admission controller pods to external networks (prevents token exfiltration but may break legitimate apiCall use cases requiring external connectivity), and enabling comprehensive audit logging for ClusterPolicy modifications and admission controller network connections to detect exploitation attempts. Review existing ClusterPolicy resources for unexpected apiCall directives pointing to non-organizational domains. Note that egress blocking will disable all external apiCall functionality, potentially breaking legitimate policy workflows. Full remediation details at https://github.com/kyverno/kyverno/security/advisories/GHSA-f9g8-6ppc-pqq4.

Affected VersionsENISA

kyverno 1.17.0-rc1, < 1.17.2-rc1
kyverno < 1.16.4

Affected Packages

go github.com/kyverno/kyverno fix: 1.17.0
euvd kyverno fix: 1.16.4
euvd kyverno_1_17_0_rc1 fix: 1.17.2-rc1

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 policy engine that uses admission webhooks to enforce policies. The vulnerable apiCall feature allows ClusterPolicy resources to make external HTTP calls during policy evaluation. The flaw (CWE-200: Exposure of Sensitive Information to an Unauthorized Actor) lies in the automatic attachment of the admission controller's ServiceAccount token to these HTTP requests combined with complete absence of URL validation. In Kubernetes RBAC architecture, the admission controller ServiceAccount requires elevated privileges including the ability to patch MutatingWebhookConfiguration and ValidatingWebhookConfiguration resources to manage its own webhook endpoints. By directing apiCall to an attacker-controlled HTTPS endpoint, the ServiceAccount bearer token is leaked in the Authorization header, which can then be replayed to the Kubernetes API server with full admission controller privileges.

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 8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
SUSE HIGH

Primary rating from GitHub Advisory.

CVSS VectorGitHub Advisory

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

Lifecycle Timeline

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

DescriptionGitHub Advisory

Kyverno is a policy engine designed for cloud native platform engineering teams. Prior to versions 1.18.0-rc1, 1.17.2-rc1, and 1.16.4, Kyverno's apiCall feature in ClusterPolicy automatically attaches the admission controller's ServiceAccount token to outgoing HTTP requests. The service URL has no validation - it can point anywhere, including attacker-controlled servers. Since the admission controller SA has permissions to patch webhook configurations, a stolen token leads to full cluster compromise. Versions 1.18.0-rc1, 1.17.2-rc1, and 1.16.4 patch the issue.

Executive ViewAI

Why It Matters

Kyverno versions prior to 1.18.0-rc1, 1.17.2-rc1, and 1.16.4 contain an authentication token exfiltration vulnerability in the apiCall feature that allows authenticated cluster users to steal the admission controller's ServiceAccount token and achieve full cluster compromise. Organizations running affected Kyverno deployments face immediate risk of privilege escalation from standard user accounts to cluster-wide administrator control, with particular impact in multi-tenant Kubernetes environments where blast radius extends across all workloads.

Business Impact: High
Compensating Controls

Vendor-released patch. Until patching: (1) Disable or remove all apiCall rules from active policies; (2) implement network policies to block egress from Kyverno controller pods except to approved internal API endpoints; (3) enforce RBAC to prevent low-privilege users from creating or modifying ClusterPolicy resources; (4) enable audit logging of all policy configuration changes and ServiceAccount token access.

Threat Intelligence Overview

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

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
Total

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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