{"id":"CVE-2026-88984","kind":"vulnerability","aliases":["CVE-2026-88984"],"related":[],"title":"Kubeflow Pipelines: authenticated users can alter shared pipelines without permission","description":"Kubeflow Pipelines enables users to build and deploy portable, scalable machine learning workflows. Prior to 2.16.1, the multi-user API server treats the empty namespace used by shared or global pipelines as an authorization exception for modification and deletion operations. An authenticated user can modify or delete shared pipeline definitions and versions without the required Kubernetes RBAC permissions, compromising their integrity and availability. Read-only access to shared pipelines remains intentional, single-user deployments intentionally bypass multi-user checks, and execution of a modified pipeline is a conditional downstream consequence. The separate shared-pipeline multipart upload authorization path is outside this advisory and is not remediated by version 2.16.1. This issue is fixed in version 2.16.1.","summary":"Kubeflow Pipelines before 2.16.1 skips Kubernetes permission checks for shared or global pipelines when modifying or deleting them. An authenticated user can change or delete shared pipeline definitions and versions, damaging their integrity and availability.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["kubeflow-pipelines","kubernetes","ml-platform","package"],"not_affected_if":["no-shared-pipelines","single-user-deployment"],"how_to_check":"- Check the installed Kubeflow Pipelines version against `2.16.1`\n- Confirm whether the deployment runs in multi-user mode, since single-user deployments bypass these checks by design","fix":"- Kubeflow Pipelines: move to `2.16.1` or later","status":"open","published_at":"2026-11-05T23:17:01+00:00","first_seen_at":"2026-11-05T23:48:40+00:00","triaged_at":"2026-11-05T23:49:41+00:00","updated_at":"2026-11-05T23:49:41+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-05T23:49:41Z","model":"claude-haiku-5-5","output":{"fix":"- Kubeflow Pipelines: move to `2.16.1` or later","reach":"network","title":"Kubeflow Pipelines: authenticated users can alter shared pipelines without permission","impact":"medium","summary":"Kubeflow Pipelines before 2.16.1 skips Kubernetes permission checks for shared or global pipelines when modifying or deleting them. An authenticated user can change or delete shared pipeline definitions and versions, damaging their integrity and availability.","audience":"businesses","category":"package","nicknames":[],"who_cares":["kubeflow-pipelines","kubernetes","ml-platform"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"authenticated users alter or delete shared pipeline definitions","analyst_note":"","how_to_check":"- Check the installed Kubeflow Pipelines version against `2.16.1`\n- Confirm whether the deployment runs in multi-user mode, since single-user deployments bypass these checks by design","plain_action":"","needs_analyst":false,"not_affected_if":["single-user-deployment","no-shared-pipelines"],"who_is_affected":"Multi-user Kubeflow Pipelines deployments where users hold valid accounts and shared or global pipelines exist. Single-user deployments are not affected in the same way. The separate shared-pipeline multipart upload path is outside this advisory and is not fixed by 2.16.1.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000709,"input_tokens":4419,"output_tokens":534,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-88984':13A,16A '2.16.1':28B,75C,173C,180C 'access':127C 'advisori':166C 'alter':6A 'api':80C 'authent':3A,44B,102C 'author':94C,161C 'avail':59B,123C 'build':65C 'bypass':138C 'chang':47B 'check':32B,142C 'compromis':119C 'condit':151C 'consequ':153C 'cve':11A,14A 'damag':55B 'definit':52B,110C 'delet':41B,49B,99C,107C 'deploy':67C,136C 'downstream':152C 'empti':84C 'enabl':62C 'except':95C 'execut':144C 'fix':177C 'global':36B,90C 'integr':57B,121C 'intent':132C,137C 'issu':175C 'kubeflow':1A,18B,25B,60C 'kubeflow-pipelin':17B 'kubernet':20B,30B,116C 'learn':71C 'machin':70C 'ml':22B 'ml-platform':21B 'modif':97C 'modifi':39B,105C,147C 'multi':78C,140C 'multi-us':77C,139C 'multipart':159C 'namespac':85C 'oper':100C 'outsid':164C 'packag':24B 'path':162C 'permiss':10A,31B,118C 'pipelin':2A,8A,19B,26B,37B,51B,61C,91C,109C,130C,148C,158C 'platform':23B 'portabl':68C 'prior':73C 'rbac':117C 'read':125C 'read-on':124C 'remain':131C 'remedi':170C 'requir':115C 'scalabl':69C 'separ':155C 'server':81C 'share':7A,34B,50B,88C,108C,129C,157C 'shared-pipelin':156C 'singl':134C 'single-us':133C 'skip':29B 'treat':82C 'upload':160C 'use':86C 'user':4A,45B,63C,79C,103C,135C,141C 'version':54B,112C,172C,179C 'without':9A,113C 'workflow':72C","nicknames":[],"mitigations":[],"who_affected":"Multi-user Kubeflow Pipelines deployments where users hold valid accounts and shared or global pipelines exist. Single-user deployments are not affected in the same way. The separate shared-pipeline multipart upload path is outside this advisory and is not fixed by 2.16.1.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["high","kubeflowpipelines","kubernetes","mlplatform","package"],"campaign_type":null,"first_public_at":"2026-09-14T23:29:10+00:00","kev":null,"cvss_vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-88984","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-88984","severity":null,"published_at":"2026-11-05T23:17:01+00:00","modified_at":"2026-11-05T23:17:01+00:00","first_seen_at":"2026-11-05T23:48:40+00:00","fetched_at":"2026-11-05T23:48:40+00:00","note":null}],"documents":[{"id":81500,"url":"https://github.com/kubeflow/pipelines/commit/186dd1f3b0403af841c9b4ea7ab94f405339ef6c","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":81501,"url":"https://github.com/kubeflow/pipelines/releases/tag/2.16.1","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":81502,"url":"https://github.com/kubeflow/pipelines/security/advisories/GHSA-ghgh-57qv-h687","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-09-14T23:29:10+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}