CVE-2026-54745
KrytyczneCVSS 10.0Streszczenie
Kubeflow Pipelines przed wersją 2.17.0 zawiera nieuwierzytelnioną podatność SSRF w trasie /_proxy/ w frontend/server/proxy-middleware.ts. Funkcja _routePathWithReferer() akceptuje dowolny adres URL HTTP lub HTTPS kontrolowany przez atakującego i przekazuje go do createProxyMiddleware bez listy dozwolonych hostów ani filtrowania adresów loopback, link-local, RFC1918 czy klastrowych. Trasa jest dostępna bez autoryzacji, co pozwala na przekazywanie żądań do wewnętrznych usług i zwracanie odpowiedzi atakującemu. Problem naprawiono w wersji 2.17.0.
Ocena ryzyka
Atakujący może uzyskać dostęp do metadanych chmury, interfejsów API Kubernetes i innych wewnętrznych usług, co może prowadzić do kradzieży poświadczeń i modyfikacji zasobów klastra.
Rekomendacja
Zaleca się aktualizację Kubeflow Pipelines do wersji 2.17.0 oraz wdrożenie listy dozwolonych hostów i filtrowania adresów wewnętrznych w konfiguracji proxy.
Oryginalny opis (angielski, źródło NVD)
Kubeflow Pipelines enables users to build and deploy portable, scalable machine learning workflows. Prior to 2.17.0, the Kubeflow Pipelines frontend exposes an unauthenticated server-side request forgery vulnerability through the /_proxy/ route in frontend/server/proxy-middleware.ts. The _routePathWithReferer() function accepts an arbitrary attacker-controlled HTTP or HTTPS target and passes its origin to createProxyMiddleware without a host allowlist or filtering for loopback, link-local, RFC1918, or cluster-local addresses. The route remains outside the authorization middleware when ENABLE_AUTHZ=true and is reachable through /apis/v1beta1/_proxy/, /apis/v2beta1/_proxy/, /pipeline/apis/v1beta1/_proxy/, and /pipeline/apis/v2beta1/_proxy/, including through a crafted Referer header. Requests can forward attacker-controlled methods, headers such as Authorization, Cookie, and X-Forwarded-For, and POST bodies to reachable internal services, while returning the upstream response to the unauthenticated client. This can expose cloud metadata credentials, Kubernetes or service APIs, and other cluster-internal endpoints to unauthorized read or modification. This issue is fixed in version 2.17.0.

