Skip to main content

Kyverno CVE-2026-84195

| EUVDEUVD-2026-69032 HIGH
Information Exposure (CWE-200)
2026-09-01 VulnCheck GHSA-4x34-82r8-65cf
8.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain Kyverno policy-write RBAC rights
  2. Delivery
    Deploy attacker-controlled HTTP capture endpoint
  3. Exploit
    Create ClusterPolicy with apiCall.service.url targeting capture endpoint
  4. Execution
    Trigger matching admission event (e.g., create Pod)
  5. Persist
    Kyverno auto-injects SA bearer token into outbound request
  6. Impact
    Capture and replay token for full cluster control

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

Exploitation requires that the attacker hold Kubernetes RBAC permissions sufficient to create or modify Kyverno ClusterPolicy or Policy resources - this is the critical gate. The apiCall service mode must be used in the policy rule (apiCall.service.url must reference an HTTP endpoint rather than a Kubernetes API path). No special non-default Kyverno configuration is required beyond what is present in any standard installation; the credential forwarding behavior is active by default whenever the service URL path is used. Exploitation is additionally limited to contexts where the attacker can trigger a matching admission event (e.g., create a Pod if the policy matches Pod resources). Factors that limit exposure: environments where only cluster-admin or a tightly controlled CI/CD identity can write policies are substantially protected; clusters that use only apiCall with Kubernetes-internal API paths (not service.url) are not directly affected by this specific code path.

Impact

The CVSS 4.0 score of 8.3 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N) accurately reflects the threat model: network-reachable exploitation at low complexity requiring only policy-write privileges, with high confidentiality impact on both the vulnerable Kyverno system and subsequent cluster systems via the exfiltrated token. Real-world risk is elevated beyond the raw score because the exfiltrated SA token grants administrative-equivalent control over Kyverno policies and cluster resources, making this effectively a privilege escalation path from policy-author to cluster-admin. No EPSS score is available in the provided data, making exploitation probability rate estimation unreliable. The absence of a CISA KEV listing means active exploitation is not confirmed, but the embedded PoC lowers the bar to exploitation significantly - any user with ClusterPolicy creation rights can trivially reproduce the attack in minutes. The primary limiting factor is the PR:L prerequisite: an attacker must already hold permissions to create Kyverno ClusterPolicy or Policy resources, which in well-governed clusters is restricted to elevated roles. In clusters with permissive RBAC or developer self-service policy authoring, exposure is substantially higher.

Exploit ScenarioDerived

An attacker with Kubernetes RBAC permissions to create ClusterPolicy resources deploys a capture server inside or outside the cluster and creates a Kyverno ClusterPolicy with a rule that matches Pod admission events and includes an apiCall pointing to the attacker-controlled service URL. When any user subsequently creates a Pod, Kyverno's admission webhook fires, executes the apiCall, and automatically injects the Kyverno admission controller's ServiceAccount bearer token into the HTTP request - which the capture server logs. The attacker then uses the token to impersonate the Kyverno service account and gain full control over cluster policies and resources. A working proof-of-concept demonstrating all four steps is included in GHSA-8wfp-579w-6r25.

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

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

Alert me

AnalysisAIv1 – Sep 01, 2026

Credential leakage in Kyverno's apiCall service mode automatically forwards the Kubernetes admission controller's ServiceAccount bearer token to any external HTTP endpoint referenced in a policy, including attacker-controlled servers. Affecting Kyverno before 1.16.4 (fix version disputed - see confidence notes), this insecure-by-default behavior requires only policy-creation privileges to exploit: a low-privileged user crafts a ClusterPolicy pointing apiCall.service.url at an attacker-controlled host, then triggers a matching admission event, causing Kyverno to self-exfiltrate its SA token. No public exploit is confirmed in CISA KEV, but a working proof-of-concept with full reproduction steps is embedded in the GitHub security advisory GHSA-8wfp-579w-6r25.

RemediationAI

The primary fix is to upgrade Kyverno; however, the precise patched release is disputed - the CVE description names 1.16.4 while package-level evidence from the GHSA advisory indicates the fix landed in 1.17.0 (with the PoC confirmed on v1.17.1, suggesting 1.17.0 may not be sufficient). Operators should consult the canonical advisory at https://github.com/kyverno/kyverno/security/advisories/GHSA-8wfp-579w-6r25 to confirm the authoritative patched version before upgrading. As an immediate compensating control, audit all ClusterPolicy and Policy resources for rules using apiCall.service.url and verify that every external URL is organization-controlled; remove or restrict policies referencing untrusted external endpoints. Additionally, tighten RBAC to limit who can create or modify Kyverno policies - this does not eliminate the vulnerability but raises the bar for exploitation. If explicit Authorization headers are required by legitimate external services, policy authors should define them directly, which the vulnerable code path already respects. No side-channel token sanitization workaround is available without patching.

Affected VersionsENISA

kyverno 0 <1.16.4

Affected Packages

go github.com/kyverno/kyverno fix: 1.17.0
euvd kyverno fix: 1.16.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 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 operates as an admission controller. Its apiCall feature allows policies to enrich context by making outbound HTTP requests - including to arbitrary external service URLs via apiCall.service.url. The vulnerable code path in pkg/engine/apicall/executor.go reads the Kubernetes ServiceAccount token from /var/run/secrets/kubernetes.io/serviceaccount/token and unconditionally injects it as an Authorization: Bearer header into every outbound request when no explicit Authorization header is already set. CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) describes this root cause accurately: the credential is transmitted to parties that have no legitimate need for it. Compounding issues identified in the advisory include use of Header.Add instead of Header.Set (allowing header duplication), absence of trust-boundary validation distinguishing internal Kubernetes API from external endpoints, and lack of documentation for this behavior. The affected CPE is cpe:2.3:a:kyverno:kyverno:*:*:*:*:*:*:*:* for versions below the fix threshold.

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

Vendor (VulnCheck) PRIMARY 8.3 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
vuln.today AI 7.7 HIGH

Policy-write access required (PR:L); token exfiltration affects resources beyond Kyverno itself (S:C); no integrity or availability impact from the leakage primitive alone.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
SUSE HIGH
Red Hat 7.7 HIGH

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 01, 2026 - 13:01 EUVD
CVE Published
Sep 01, 2026 - 11:33 cve.org
HIGH 8.3

DescriptionCVE.org

Kyverno before 1.16.4 automatically attaches the admission controller's ServiceAccount token to outbound HTTP requests in apiCall service mode without explicit authorization headers. Attackers can exfiltrate the token by directing apiCall requests to external or attacker-controlled endpoints, gaining full control over Kyverno policies and cluster resources.

Technical POC Analysis

Bug class: credential leakage / insecure default (CWE-200, with CWE-522 also assigned by the advisory).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Kyverno, a widely-used Kubernetes policy and admission controller, contains a credential leakage vulnerability that exposes the cluster's ServiceAccount bearer token to external attackers. An attacker with basic policy-creation privileges can exploit this without elevated access to exfiltrate cluster credentials, potentially enabling full cluster compromise and lateral movement across workloads.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include: (1) restrict ClusterPolicy and Policy creation via RBAC to only authorized platform teams, (2) audit existing policies for apiCall.service configurations pointing to external endpoints, (3) implement network policies blocking outbound connections from Kyverno pods except to approved internal services, (4) enable Kubernetes audit logging to track policy creation/modification and monitor for suspicious activity, (5) rotate Kyverno's ServiceAccount token immediately and implement token-rotation schedules, (6) consider temporarily disabling apiCall functionality if not business-critical.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Medium
popular Kubernetes policy engine, widely used in cloud-native clusters
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor 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.3%
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

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
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-84196 HIGH
8.3 Sep 01

Server-side request forgery in Kyverno's Kubernetes admission controller (all versions before 1.18.0) enables any authen

Vendor StatusVendor

SUSE

Severity: Important

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