CVE-2026-115916 Identificador de token fuera de vocabulario en vLLM provoca un assert en CUDA y caída del motor
Antes de 0.32.0, vllm/tokenizers/hf.py calcula max_token_id con un límite superior desfasado en uno, por lo que un ID de prompt pre-tokenizado igual al tamaño del vocabulario pasa la validación. Con tensor-parallel de uno y vocabulario múltiplo de 64, VocabParallelEmbedding no enmascara el valor y F.embedding dispara un assert en el dispositivo CUDA que termina el motor. Corregido en 0.32.0.
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/110,3 % · percentil 24
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
vllm-project vllm
< 0.32.0
Qué hacer
- Verificá si usás vllm 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 · 6.5 MEDIA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Privilegios requeridosBajos
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadNinguna
- IntegridadNinguna
- DisponibilidadAlta
Descripción original
vLLM is an inference and serving engine for large language models. Prior to 0.32.0, vllm/tokenizers/hf.py computes max_token_id with an off-by-one upper bound, allowing a pre-tokenized prompt ID equal to the vocabulary size to pass validation. For a tensor-parallel size of one and an exact multiple-of-64 vocabulary, VocabParallelEmbedding.forward does not mask that value before F.embedding uses it, causing a CUDA device-side assertion and terminating the engine. This issue is fixed in version 0.32.0.
Referencias (4)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.