{"id":"CVE-2026-103002","title":"GPUStack: Missing authorization on several cluster and resource endpoints allows cross-user access and cluster takeover","summary":"GPUStack is an open-source GPU cluster manager for AI model serving and GPU instance provisioning. From 2.2.0 until 2.2.2, cluster_apiserver_proxy forwarded an authenticated non-administrator's requests to a selected Kubernetes cluster w…","severity":"high","cvss":8.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","cwe":["CWE-639","CWE-862"],"vendor":"gpustack","product":"gpustack","affected":["gpustack >= 2.2.0, < 2.2.2"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-11-05T00:00:00+00:00"},"published":"2026-11-04","updated":"2026-11-06","sourceUpdated":"2026-11-06T04:56:42.836Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-103002","references":[{"url":"https://github.com/gpustack/gpustack/security/advisories/GHSA-3hch-x692-6qj3","label":"https://github.com/gpustack/gpustack/security/advisories/GHSA-3hch-x692-6qj3"},{"url":"https://github.com/gpustack/gpustack/pull/5911","label":"https://github.com/gpustack/gpustack/pull/5911"},{"url":"https://github.com/gpustack/gpustack/pull/5936","label":"https://github.com/gpustack/gpustack/pull/5936"},{"url":"https://github.com/gpustack/gpustack/commit/363191fa1da7e1426c6041f78b3cf00aff2622fe","label":"https://github.com/gpustack/gpustack/commit/363191fa1da7e1426c6041f78b3cf00aff2622fe"},{"url":"https://github.com/gpustack/gpustack/commit/cdd67467e0f314609dc82216e142940d321abfed","label":"https://github.com/gpustack/gpustack/commit/cdd67467e0f314609dc82216e142940d321abfed"},{"url":"https://github.com/gpustack/gpustack/releases/tag/v2.2.2","label":"https://github.com/gpustack/gpustack/releases/tag/v2.2.2"}],"tags":["cve.org"],"epss":0.0036,"epssPercentile":0.29984,"ingestedAt":"2026-11-05T21:36:00.620Z","slug":"CVE-2026-103002","body":"## Overview\n\nGPUStack is an open-source GPU cluster manager for AI model serving and GPU instance provisioning. From 2.2.0 until 2.2.2, cluster_apiserver_proxy forwarded an authenticated non-administrator's requests to a selected Kubernetes cluster without a resource-level authorization check. The proxy used a reachable worker's Kubernetes ServiceAccount credentials, so the caller could read sensitive resources, create or modify workloads, or delete resources according to that ServiceAccount's permissions. Exploitation required a Kubernetes-provider cluster with a reachable worker, and attacker-controlled workloads could result in code execution in the target cluster. This issue is fixed in version 2.2.2.\n\n## Affected\n\n- `gpustack >= 2.2.0, < 2.2.2`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":48,"depthScoreParts":{"impact":48.4,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}