CVE Catalog

CVE-2026-100705

HighCVSS 7.6
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.20%

8th percentile - higher than 8% of all known CVEs

Summary

Kyverno before 1.19.1 is vulnerable to SSRF. The default egress blocklist and scoped-token control were only wired into the new CEL http.Get/Post library, not into the legacy apiCall service executor or the GlobalContextEntry external-API path. These paths use a plain net/http client with no egress filtering and no validation of the configured service URL, allowing a ClusterPolicy or GlobalContextEntry author to cause Kyverno to issue GET/POST requests to arbitrary hosts, including cloud metadata endpoints and internal services. The executor also attaches Kyverno's projected ServiceAccount token to the attacker-chosen destination. Fixed in 1.19.1.

Risk Assessment

An attacker can read cloud instance credentials or access internal services, potentially leading to privilege escalation or data exfiltration. The ServiceAccount token may also be used for further attacks, though it is audience-scoped.

Recommendation

Upgrade Kyverno to version 1.19.1 or later to apply egress filtering and URL validation in all apiCall paths. Additionally, restrict permissions to create policies and GlobalContextEntry, and monitor outbound traffic.

Other vulnerabilities in Kyverno

See all
Original NVD description (English source)

Kyverno before 1.19.1 is vulnerable to server-side request forgery. The default egress blocklist (169.254.169.254, 169.254.169.253, metadata.google.internal, 127.0.0.0/8, ::1/128) and the scoped-token control were wired only into the new CEL http.Get/Post library and were never applied to the legacy apiCall service executor (pkg/engine/apicall/executor.go) or to the GlobalContextEntry external-API path, which handle every non-CEL context[].apiCall.service call. Because these paths use a plain net/http client with no egress filtering and no validation of the configured service URL, a ClusterPolicy or GlobalContextEntry author — or, where a deployed policy templates the service URL from the admission resource, a lower-privileged resource submitter — can cause Kyverno to issue GET/POST requests to an arbitrary host, including the cloud metadata endpoint, loopback, and any in-cluster service, reading cloud instance credentials and reaching internal endpoints with Kyverno's network position. The executor also unconditionally attaches Kyverno's projected ServiceAccount token to the attacker-chosen destination; the token is audience-scoped, limiting its replay value. Fixed in 1.19.1.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS