CVE-2026-102894 Evasión de autenticación en el callback SAML de GPUStack
El endpoint /auth/saml/callback de GPUStack decodifica el XML SAML y emite un JWT sin verificar la firma, el emisor, la audiencia, el destino ni las condiciones de tiempo. Cualquier cliente de red podría suplantar a un usuario existente, incluido un administrador, o crear una cuenta nueva, incluso sin SAML configurado, y las respuestas firmadas capturadas podrían reutilizarse. Se corrige en la versión 2.2.2.
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/110,3 % · percentil 17
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
gpustack
>= 0.7.1, < 2.2.2
Qué hacer
- Verificá si usás gpustack y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 9.1 CRÍTICA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadAlta
- IntegridadAlta
- DisponibilidadNinguna
Descripción original
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.
Referencias (6)
- github.com/gpustack/gpustack/security/advisories/GHSA-62m9-f875-rqw6
- github.com/gpustack/gpustack/pull/5753
- github.com/gpustack/gpustack/pull/5923
- github.com/gpustack/gpustack/commit/705edbe1b5feec63959306daecd640e1c70eced2
- github.com/gpustack/gpustack/commit/adc6d82be34e48390720a1361df616e2ea9d6d45
- github.com/gpustack/gpustack/releases/tag/v2.2.2
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.