GHSA-ghgh-57qv-h687

Suggest an improvement
Source
https://github.com/advisories/GHSA-ghgh-57qv-h687
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/11/GHSA-ghgh-57qv-h687/GHSA-ghgh-57qv-h687.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-ghgh-57qv-h687
Aliases
Published
2026-11-09T22:48:03Z
Modified
2026-11-09T23:00:03Z
Severity
  • 7.2 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N CVSS Calculator
Summary
Kubeflow Pipelines: RBAC bypass on shared pipelines allows any authenticated user to delete or modify global pipelines
Details

Summary

In multi-user mode, the Kubeflow Pipelines API server skipped authorization checks for shared/global pipelines with an empty namespace. This exception applied to write and delete operations as well as reads, allowing an authenticated user to modify or delete shared pipelines without the required Kubernetes RBAC permissions.

Impact

Unauthorized modification compromises the integrity of shared pipeline definitions and versions. Unauthorized deletion can make shared pipelines unavailable.

Execution of a modified pipeline can cause attacker-controlled workload behavior, but this is a conditional downstream consequence requiring the modified pipeline to be executed. Modification alone does not demonstrate immediate worker code execution.

Reading shared pipelines is intentionally permitted and remains permitted after the fix. Consequently, access to shared pipeline configuration does not establish an additional confidentiality impact from this write-authorization defect. The confidentiality metric is None; the integrity and availability metrics reflect unauthorized modification and deletion of shared pipelines.

The affected authorization boundary is shared pipelines in multi-user deployments. Single-user deployments intentionally bypass these multi-user authorization checks.

Patches

Fixed by kubeflow/pipelines#13288, with the fix included in 2.16.1.

Read-only operations on shared pipelines remain allowed. For write and delete operations, the API server checks Kubernetes RBAC permissions against the KFP system namespace, because shared pipelines have no namespace of their own.

Scope of this fix

The 2.16.1 fix addresses the shared-pipeline authorization paths described above. It does not fix every shared-pipeline write path: the separate shared-pipeline upload authorization defect is tracked in GHSA-rjr3-43j3-4q8g / CVE-2026-77596. Consult that advisory for its affected versions and remediation; 2.16.1 must not be interpreted as fixing that separate upload defect.

Workarounds

Until upgrading, restrict access to the Pipelines API to trusted users through deployment-level access controls. Namespace RBAC alone does not correct the affected shared-pipeline authorization path.

Database specific
{
    "cwe_ids": [
        "CWE-285",
        "CWE-863"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-11-09T22:48:03Z",
    "nvd_published_at": "2026-11-05T23:17:01Z",
    "severity": "HIGH"
}
References

Affected packages

Go / github.com/kubeflow/pipelines

Package

Name
github.com/kubeflow/pipelines
View open source insights on deps.dev
Purl
pkg:golang/github.com/kubeflow/pipelines

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
0.0.0-20260420170029-186dd1f3b040

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/11/GHSA-ghgh-57qv-h687/GHSA-ghgh-57qv-h687.json"