Read the docs
TI-2026-85695 Aliases CVE-2026-77596

Kubeflow Pipelines API server skips authorization for shared pipeline uploads

Priority MEDIUM 41CWE-639Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-639.

Summary

Before 2.18.0, the multi-user pipeline upload endpoints skip authorization when the target namespace is empty, which happens because REQUIRE_NAMESPACE_FOR_PIPELINES defaults to false. A low-privilege tenant can create shared pipelines or add attacker-controlled versions to existing ones without write permission, and unauthenticated callers can do the same when the API server is reachable without an authenticating proxy. An enabled unpinned recurring run that follows the latest version then executes the injected specification in another tenant's namespace under that workload's service account. Pinned and embedded-specification runs are not automatically substituted.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

Kubeflow Pipelines enables users to build and deploy portable, scalable machine learning workflows. Prior to 2.18.0, the multi-user HTTP endpoints POST /apis/v2beta1/pipelines/upload and POST /apis/v2beta1/pipelines/upload_version call canUploadVersionedPipeline, which returns without SubjectAccessReview when the target namespace is empty while REQUIRE_NAMESPACE_FOR_PIPELINES defaults to false. A low-privilege tenant can create shared pipelines or inject attacker-controlled versions into existing shared pipelines without the required write permission; if the API server is directly reachable without an authenticating proxy, an unauthenticated caller can exploit the same bypass, while deployments protected by such a proxy do not expose anonymous access. An enabled unpinned recurring run that follows the latest version can then execute the injected specification in another tenant's namespace under that workload's service account, while pinned or embedded-specification runs are not automatically substituted. This issue is fixed in version 2.18.0.

Why it matters now

EPSS 0.0025 16th percentileScored 2026-11-07
Fix Fixed pipelines (kubeflow): 2.18.0

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
kubeflowpipelinesbefore 2.18.02.18.0Patch availableCNA
  • pipelines Vendorkubeflow Affected before 2.18.0 Fixed in 2.18.0 Patch available CNA

Remediation

Upgrade Kubeflow Pipelines to version 2.18.0 or later, which fixes this issue.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA pipelines (kubeflow) Fixed in 2.18.0

Timeline

  1. 2026-11-05 Threatist record created from CVE-2026-77596

References

  • TI-2026-39556 Improper access control in kubeflow pipelines CVSS 3.1CRITICAL 10.0
  • TI-2024-05160 ReDoS in kubeflow/kubeflow CVSS 3.1HIGH 7.5
  • TI-2026-34822 Kubeflow Community Distribution: Overly Permissive Istio Permissions Allows Kubeflow Authorization Token Stealing CVSS 3.1HIGH 8.0
  • TI-2026-85696 Server-side request forgery in Kubeflow Pipelines TensorBoard proxy CVSS 3.1MEDIUM 5.8
  • TI-2026-73437 Server-side request forgery in Kubeflow Model Registry leaks tokens CVSS 4.0HIGH 7.1
  • TI-2026-85698 Server-side request forgery in Kubeflow Pipelines artifact endpoints CVSS 3.1HIGH 8.6
See all 19 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences