{"affected":[{"product":"gpustack","source":"CNA: GitHub_M","vendor":"gpustack","versions":[{"status":"affected","version":">= 0.7.1, < 2.2.2"}]}],"cveId":"CVE-2026-102894","cwes":["CWE-294","CWE-347"],"description":"GPUStack is an open-source GPU cluster manager for AI model serving and GPU instance provisioning. From 0.7.1 until 2.2.2, the /auth/saml/callback endpoint decoded SAML XML, used its NameID and attributes to resolve or provision a user, and minted a gpustack_session JWT without calling OneLogin_Saml2_Auth.process_response to verify the signature, issuer, audience, destination, or time conditions. Any network client could submit an identity for an existing user, including an administrator, or provision a new non-administrator account, even when SAML was not configured. Response and Assertion identifiers were not consumed, so captured signed responses could also be replayed. This issue is fixed in version 2.2.2.","epss":{"date":"2026-11-05","percentile":0.17633,"score":0.00259},"exploits":[],"kev":null,"metrics":[{"score":9.1,"severity":"critical","source":"CNA: GitHub_M","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"},{"score":9.1,"severity":"critical","source":"NVD: security-advisories@github.com","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"}],"modifiedAt":1793942283347,"publishedAt":1793827109009,"references":[{"source":"CNA: GitHub_M","tags":["x_refsource_CONFIRM"],"url":"https://github.com/gpustack/gpustack/security/advisories/GHSA-62m9-f875-rqw6"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/gpustack/gpustack/pull/5753"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/gpustack/gpustack/pull/5923"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/gpustack/gpustack/commit/705edbe1b5feec63959306daecd640e1c70eced2"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/gpustack/gpustack/commit/adc6d82be34e48390720a1361df616e2ea9d6d45"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/gpustack/gpustack/releases/tag/v2.2.2"},{"source":"security-advisories@github.com","tags":[],"url":"https://github.com/gpustack/gpustack/commit/705edbe1b5feec63959306daecd640e1c70eced2"},{"source":"security-advisories@github.com","tags":[],"url":"https://github.com/gpustack/gpustack/commit/adc6d82be34e48390720a1361df616e2ea9d6d45"},{"source":"security-advisories@github.com","tags":[],"url":"https://github.com/gpustack/gpustack/pull/5753"},{"source":"security-advisories@github.com","tags":[],"url":"https://github.com/gpustack/gpustack/pull/5923"},{"source":"security-advisories@github.com","tags":[],"url":"https://github.com/gpustack/gpustack/releases/tag/v2.2.2"},{"source":"security-advisories@github.com","tags":[],"url":"https://github.com/gpustack/gpustack/security/advisories/GHSA-62m9-f875-rqw6"}],"remediation":[],"revision":"b2ae12faa054821b925ee6ef2aff74fe0b703be92cb99d778f45e25f73f6c441","sources":[{"modifiedAt":1793941001166,"name":"CNA: GitHub_M","retrievedAt":1793941698463,"url":"https://www.cve.org/CVERecord?id=CVE-2026-102894"},{"modifiedAt":1793942283347,"name":"NVD","retrievedAt":1793946330543,"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-102894"},{"modifiedAt":null,"name":"FIRST EPSS","retrievedAt":1793941727870,"url":"https://api.first.org/data/v1/epss?cve=CVE-2026-102894"}],"ssvc":{"assessedAt":1793836800000,"automatable":"yes","exploitation":"none","source":"ADP: CISA-ADP","technicalImpact":"total"},"status":"published","title":"GPUStack: SAML callback trusts an unverified SAMLResponse, allowing authentication bypass and account takeover","updatedAt":1793946330543}