CVE-2026-77596: kubeflow pipelines · Insecure Direct Object Reference
Affects kubeflow pipelinesSource CVE Database V5
Not known to be exploited · CVSS 9.6 Critical : upgrade to 2.18.0 as a priority.
Data as of 5 Nov 2026, 22:33 UTC
Thin evidence
One scorer or none| CNA (GitHub_M) | CVSS 3.1 | 9.6 |
|---|
- Patch
- Available – fixed in 2.18.0
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:NExploitation evidence
Disclosed: evidence found.
CVE published 5 Nov 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 5 Nov 2026.
What to do
Upgrade kubeflow pipelines to 2.18.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| kubeflowpipelines | Affected
| Fixed in
|
Description
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.
References
- github.com/kubeflow/pipelines/security/advisories/GHSA-rjr3-43j3-4q8g (opens in a new tab)
- github.com/kubeflow/pipelines/pull/14352 (opens in a new tab)
- github.com/kubeflow/pipelines/commit/62516d8c525f146b754cb515cf441dd0290ad841 (opens in a new tab)
- github.com/kubeflow/pipelines/releases/tag/2.18.0 (opens in a new tab)