CSIRTS // UNIFIED SECURITY ADVISORY FEEDSYS ● ONLINE · POWERED BY INTELFUSIONS.COM

CVE-2026-4789

highCVSS 8.5covered by 1 sourcefirst seen 2026-04-14
Summary A Server-Side Request Forgery (SSRF) vulnerability in Kyverno's CEL HTTP library (pkg/cel/libs/http/) allows users with namespace-scoped policy creation permissions to make arbitrary HTTP requests from the Kyverno admission controller. This enables unauthorized access to internal services in other namespaces, cloud metadata endpoints (169.254.169.254), and data exfiltration via policy error messages. Affected Versions - Kyverno >= 1.16.0 (with policies.kyverno.io CRDs enabled, which is the default) - Tested on: Kyverno v1.16.2 (Helm chart 3.6.2) Details The http.Get() and http.Post() functions available in CEL-based policies (policies.kyverno.io API group) do not enforce any URL restrictions. Unlike resource.Lib which enforces namespace boundaries for namespaced policies, the http.Lib allows unrestricted access to any URL. Vulnerable Code: pkg/cel/libs/http/http.go func (r *contextImpl) Get(url string, headers map[string]string) (any, error) { req, err := http.NewRequestWithContext(context.TODO(), "GET", url, nil) // NO URL VALIDATION - no blocklist, no namespace restrictions ... } Contrast with resource.Lib which enforces namespace: // pkg/cel/libs/resource/lib.go func Lib(namespace string, v *version.Version) cel.EnvOption { return cel.Lib(&lib{namespace: namespace, version: v}) // Namespace enforced } This is a different code path from previously reported issues: - GHSA-8p9x-46gm-qfx2: pkg/engine/apicall/apiCall.go (URLPath) - Fixed - GHSA-459x-q9hg-4gpq: pkg/engine/apicall/executor.go (Service.URL) - Different feature (apiCall vs CEL http) - This issue: pkg/cel/libs/http/http.go (CEL http.Get/http.Post) - Not fixed PoC Tested on Kyverno v1.16.2 (Chart 3.6.2) on Kubernetes v1.35.0 (kind). A complete automated PoC script is attached. Manual steps below: 1. Setup attacker with namespace-scoped permissions kubectl create namespace attacker-ns ku

⚡ Watch CVE-2026-4789

Get an email if CVE-2026-4789 is added to CISA KEV, gains public exploit code, or a new advisory cites it — max one per day, one-click unsubscribe.

Exploitation outlook

Advisory coverage (1)

External references

NVD record for CVE-2026-4789

CVE.org record

Embed the live status

CVE-2026-4789 live status badge — this badge updates automatically when the KEV or exploit status changes. How to embed it →

[![CVE-2026-4789 status](https://www.csirts.com/badge/CVE-2026-4789)](https://www.csirts.com/cve/CVE-2026-4789)