← Back to CVE Explorer

CVE-2026-102894

Full vulnerability record from the local CVENow database.

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.

Severity
CRITICAL
CVSS score
9.1 (v3.1)
Vulnerability status
Received
Source identifier
Published
2026-11-04 22:17:44.440000
Last modified
2026-11-04 22:17:44.440000
View original CVE JSON
{
  "id": "CVE-2026-102894",
  "sourceIdentifier": "[email protected]",
  "published": "2026-11-04T22:17:44.440",
  "lastModified": "2026-11-04T22:17:44.440",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "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": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "gpustack",
          "product": "gpustack",
          "versions": [
            {
              "version": ">= 0.7.1, < 2.2.2",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
          "baseScore": 9.1,
          "baseSeverity": "CRITICAL",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 5.2
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Primary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-294"
        },
        {
          "lang": "en",
          "value": "CWE-347"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/gpustack/gpustack/commit/705edbe1b5feec63959306daecd640e1c70eced2",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/gpustack/gpustack/commit/adc6d82be34e48390720a1361df616e2ea9d6d45",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/gpustack/gpustack/pull/5753",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/gpustack/gpustack/pull/5923",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/gpustack/gpustack/releases/tag/v2.2.2",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/gpustack/gpustack/security/advisories/GHSA-62m9-f875-rqw6",
      "source": "[email protected]"
    }
  ]
}