GHSA-vjhf-6c8f-qhwj: Kubeflow Pipelines: Missing namespace authorization permits cross-tenant artifact reads
Kubeflow Pipelines enables users to build and deploy portable, scalable machine learning workflows. From 0.5.1 until 2.17.0, the frontend artifact routes did not check whether an authenticated user was authorized to access the requested namespace. A user who can reach the frontend and knows an artifact location can select another tenant's namespace, or omit the namespace and reach an unguarded direct handler, to read artifact contents such as datasets, models, or pipeline outputs. The issue applies to multi-user deployments that rely on Kubeflow Pipelines authorization for tenant isolation. Authentication at ingress identifies the caller but does not authorize access to the selected artifact namespace. The issue does not establish arbitrary Kubernetes Secret disclosure, storage modification, or server-side code execution. This issue is fixed in version 2.17.0.
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Kubeflow Pipelinesto a version that resolves this vulnerability.Fixed in 2.17.0
Event History
Frequently Asked Questions
Which deployments are affected in practice?
The issue applies to multi-user Kubeflow Pipelines deployments that depend on Kubeflow Pipelines authorization to isolate tenant namespaces. Deployments not using that authorization model for tenant isolation are not identified as affected by the advisory.
What does an attacker need to exploit this?
An attacker must be an authenticated user who can reach the Kubeflow Pipelines frontend and knows an artifact location. They can request another tenant's namespace, or omit the namespace to reach an unguarded direct handler.
What information can be exposed?
An attacker can read artifact contents, including datasets, models, and pipeline outputs belonging to another tenant. The issue does not establish arbitrary Kubernetes Secret disclosure, storage modification, or server-side code execution.
Does ingress authentication prevent exploitation?
No. Ingress authentication identifies the caller, but it does not authorize that caller to access the namespace selected in an artifact request.
What version resolves the issue?
Upgrade Kubeflow Pipelines to version 2.17.0. The affected range is from 0.5.1 until 2.17.0.