The Kubeflow Pipelines API server fetched caller-supplied pipeline package URLs without restricting the destination. A caller authorized to create a pipeline or pipeline version could cause requests to originate from the API server's network position, including to internal services that the caller could not otherwise reach.
The reported evidence demonstrates blind server-side request forgery and a limited status-code oracle. The fetched response is processed as a pipeline package; the report does not demonstrate arbitrary response-body disclosure or credential theft. A request to a cloud metadata endpoint returned HTTP 403, which does not establish access to metadata contents or tokens.
The confidentiality metric is Low to reflect the limited information obtainable through the status-code oracle. High confidentiality impact and integrity or availability impact are not established by the submitted evidence. Impact depends on the API server's network reachability and the deployment's trust boundaries.
Fixed by kubeflow/pipelines#12750, first released in 2.17.0. The fix validates URL schemes, ports, allowed domains, and resolved IP addresses; validates redirects; and enforces IP restrictions at connection time. The HTTP client also applies timeouts and disables environment proxy use so connections pass through the validated dialer.
Operators should keep pipeline URL validation enabled and limit additional allowed domains to trusted pipeline sources.
Until upgrading, restrict API-server egress to required destinations through deployment-specific network controls. Account for required Kubernetes and storage connectivity when applying these restrictions.
This is the canonical advisory for the API-server pipeline URL SSRF family. GHSA-wg4h-pp3x-hxhv is tracked as a duplicate submission. Each submission retains its own reporter attribution; this cross-link does not transfer authorship.
@pwny0's GHSA-fxx8-rx8w-p9v7, submitted September 23, 2023, included an earlier report of external interaction through the API-server pipeline-package URL path. That portion is consolidated here; its namespace-based frontend SSRF is tracked separately under GHSA-895m-3hxm-h4mg / CVE-2023-6570.
This acknowledges the earlier pipeline-URL submission without attributing fxx8's frontend response-disclosure or cookie-forwarding evidence to the API-server path. @pwny0 retains reporter credit on fxx8; @gasbugs retains reporter credit for this submission. Neither report's authorship is transferred.
{
"cwe_ids": [
"CWE-441",
"CWE-918"
],
"github_reviewed": true,
"github_reviewed_at": "2026-11-09T22:44:17Z",
"nvd_published_at": "2026-11-05T22:18:54Z",
"severity": "MODERATE"
}