Skip to main content

Kyverno CVE-2026-84199

| EUVDEUVD-2026-69034 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-09-01 VulnCheck GHSA-q5v3-pp68-6crj
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Recon
    Obtain namespace-level Policy create permission
  2. Delivery
    Craft Policy with ServiceCall URL targeting IMDS or internal endpoint
  3. Exploit
    Submit Policy to Kubernetes API server
  4. Install
    Kyverno evaluates Policy using privileged cluster ServiceAccount
  5. C2
    HTTP request issued to internal target
  6. Execute
    Response embedded in PolicyReport
  7. Impact
    Attacker reads PolicyReport to extract credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

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

Exploitation Conditions

Requires the attacker to hold the Kubernetes RBAC verb create (or update) on the policies.kyverno.io resource within at least one namespace - this is the sole prerequisite and represents a low but non-zero privilege bar. Exploitation is most impactful in multi-tenant Kubernetes environments where platform operators grant namespace-level Policy creation rights to end-users or tenants. Cloud credential theft via 169.254.169.254 additionally requires that the cluster nodes expose IMDSv1 (hop-count unrestricted) or that IMDSv2 is not enforced with a hop limit of 1 - a common configuration on older cluster deployments. Cross-tenant secret exfiltration does not require cloud IMDS access and works against any internal Kubernetes API or in-cluster service reachable from the node network. Exploitation is not possible without at least namespace-scoped Policy creation rights; cluster-admin-only environments are not meaningfully exposed beyond existing trust boundaries.

Impact

The provided CVSS 4.0 vector (score 6.9) contains a meaningful discrepancy: PR:N (no privileges required) directly contradicts the description, which explicitly requires namespace-level Policy creation permissions. This under-reports the real access bar but simultaneously obscures a more serious subsequent-system impact: SC:L in the input vector understates the confidentiality exposure - an attacker reading cloud IAM credentials or cross-tenant secrets represents a subsequent-system high-confidentiality impact (SC:H), not low. Real-world risk is therefore higher than the published score implies, particularly in multi-tenant SaaS clusters or platforms that expose namespace-level Policy creation to end-users. There is no CISA KEV listing and no public exploit code, so exploitation is not confirmed as active. EPSS data is not provided; given the low exploitation bar (single Policy YAML) and high impact in multi-tenant environments, actual priority should be elevated above the numeric score for shared clusters. Single-tenant clusters where only cluster-admins create Policies are materially less exposed.

Exploit ScenarioDerived

An attacker with namespace-scoped Policy creation rights submits a Kyverno Policy whose ServiceCall URL field is set to http://169.254.169.254/latest/meta-data/iam/security-credentials/. Kyverno evaluates the Policy using its cluster-wide ServiceAccount, issues the HTTP request, and the IAM credential JSON is embedded in the resulting PolicyReport object. The attacker queries the PolicyReport within their namespace, retrieves the cloud IAM role credentials, and uses them to escalate privileges or exfiltrate data from cloud storage outside the cluster.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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

Server-side request forgery in Kyverno's APICall feature (all versions before 1.16.2) enables any user holding namespace-level Policy creation rights to weaponize Kyverno's cluster-wide, high-privilege ServiceAccount as a confused deputy - directing it to issue HTTP requests to arbitrary internal endpoints including cloud IMDS at 169.254.169.254. Responses, potentially containing other tenants' database passwords, API keys, and cloud IAM role credentials, are surfaced in the PolicyReport and are readable by the attacking tenant, completely collapsing multi-tenant isolation. No public exploit has been identified at time of analysis, though the attack path is straightforward and the impact in shared Kubernetes clusters is severe.

RemediationAI

Upgrade to Kyverno 1.16.2, which introduces URL validation in the APICall ServiceCall feature; this is the definitive fix confirmed by both the GHSA advisory (GHSA-fmqp-4wfc-w3v7) and the upstream Go module fix at version 1.16.2. For clusters that cannot upgrade immediately, a targeted compensating control is to remove or tightly restrict the Policy creation RBAC verb from non-administrative namespaces - specifically, audit any ClusterRole or Role granting create/update on policies.kyverno.io resources to non-operator users, and revoke or gate those permissions. A secondary control for cloud-hosted clusters is to enforce IMDSv2 hop-limit=1 at the instance or node level, which blocks link-local IMDS access from workloads and reduces the cloud credential theft vector; note this does not prevent SSRF to other internal cluster services or cross-tenant endpoints. Network policies restricting egress from the Kyverno namespace to known-good destinations provide defense-in-depth but require precise policy authoring and do not eliminate the confused-deputy cross-tenant risk.

Affected VersionsENISA

kyverno 0 <1.16.2

Affected Packages

go github.com/kyverno/kyverno fix: 1.16.2
euvd kyverno fix: 1.16.2

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 validates, mutates, and generates cluster resources via CRD-defined Policies. Its APICall feature allows Policies to enrich decisions with external HTTP data via a ServiceCall configuration block. The vulnerable code resides in api/kyverno/v1/common_types.go (the ServiceCall struct, URL field) and pkg/engine/apicall/executor.go (executeServiceCall), where client.Do(req) is invoked on the user-supplied URL with no allowlist, blocklist, or network-scope validation. Because the HTTP client inherits Kyverno's cluster-wide ServiceAccount - which by design holds broad RBAC permissions across all namespaces - this is a textbook CWE-918 (Server-Side Request Forgery) compounded by a Confused Deputy pattern: the attacker's low-privilege context tricks Kyverno's high-privilege identity into performing the sensitive request. CPE cpe:2.3:a:kyverno:kyverno:*:*:*:*:*:*:*:* covers all releases prior to 1.16.2.

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 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L
vuln.today AI 8.5 HIGH

PR:L reflects required namespace Policy creation rights; S:C and C:H capture cross-tenant credential exfiltration via Kyverno's privileged ServiceAccount.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:H/SI:L/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
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
Low

Lifecycle Timeline

1
Patch available
Sep 01, 2026 - 13:01 EUVD

DescriptionCVE.org

Kyverno before 1.16.2 contains a server-side request forgery (SSRF) vulnerability in the APICall feature. The URL field in a Policy's ServiceCall configuration is not validated, so a user with namespace-level Policy creation permissions can direct Kyverno to make HTTP requests to arbitrary internal resources (e.g., cloud metadata endpoints such as 169.254.169.254 or other tenants' resources). Because Kyverno executes these requests using its cluster-wide high-privilege ServiceAccount (a Confused Deputy problem), the responses-potentially including other tenants' secrets and cloud IAM credentials-are returned in the PolicyReport and can be read by the attacker, breaking multi-tenant isolation.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
Widely adopted Kubernetes policy engine, not universally deployed
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

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: Important

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