---
id: CVE-2026-102894
title: >-
  GPUStack: SAML callback trusts an unverified SAMLResponse, allowing
  authentication bypass and account takeover
summary: >-
  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, …
severity: critical
cvss: 9.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'
cvssSource: cna
cwe:
  - CWE-294
  - CWE-347
vendor: gpustack
product: gpustack
affected:
  - 'gpustack >= 0.7.1, < 2.2.2'
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-11-05T00:00:00+00:00'
published: '2026-11-04'
updated: '2026-11-06'
sourceUpdated: '2026-11-06T04:56:41.166Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-102894'
references:
  - url: >-
      https://github.com/gpustack/gpustack/security/advisories/GHSA-62m9-f875-rqw6
    label: >-
      https://github.com/gpustack/gpustack/security/advisories/GHSA-62m9-f875-rqw6
  - url: 'https://github.com/gpustack/gpustack/pull/5753'
    label: 'https://github.com/gpustack/gpustack/pull/5753'
  - url: 'https://github.com/gpustack/gpustack/pull/5923'
    label: 'https://github.com/gpustack/gpustack/pull/5923'
  - url: >-
      https://github.com/gpustack/gpustack/commit/705edbe1b5feec63959306daecd640e1c70eced2
    label: >-
      https://github.com/gpustack/gpustack/commit/705edbe1b5feec63959306daecd640e1c70eced2
  - url: >-
      https://github.com/gpustack/gpustack/commit/adc6d82be34e48390720a1361df616e2ea9d6d45
    label: >-
      https://github.com/gpustack/gpustack/commit/adc6d82be34e48390720a1361df616e2ea9d6d45
  - 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.00259
epssPercentile: 0.17633
ingestedAt: '2026-11-05T21:36:00.609Z'
---

## Overview

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.

## Affected

- `gpustack >= 0.7.1, < 2.2.2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
