Descripción general

vLLM es un motor de inferencia y servicio para modelos de lenguaje de gran escala (LLMs). Se ha identificado una vulnerabilidad de bypass de autenticación que afecta a todas las versiones comprendidas entre la 0.3.0 y la 0.22.0 (exclusive), que permite a un atacante autenticado eludir el mecanismo de control de acceso configurado en la API compatible con OpenAI.

Naturaleza de la vulnerabilidad

El problema reside en la forma en que los servidores web ASGI gestionan ciertos aspectos de la cadena de middlewares, combinado con la confianza implícita que Starlette deposita en dichos servidores. Esta combinación permite que el componente AuthenticationMiddleware de la API OpenAI integrada en vLLM sea omitido de forma efectiva.

Como consecuencia directa, un atacante puede realizar peticiones a la API sin necesidad de proporcionar la clave de autenticación configurada mediante la variable de entorno VLLM_API_KEY o el parámetro de arranque --api-key. Esto significa que cualquier cliente con acceso de red al servicio puede interactuar con el motor de inferencia como si estuviera debidamente autorizado.

Impacto

El impacto principal es el acceso no autorizado al motor de inferencia de LLMs. En entornos donde vLLM se expone como servicio interno o externo con autenticación configurada, esta vulnerabilidad anula por completo dicha protección. Un actor malicioso podría consumir recursos de cómputo de forma arbitraria, extraer respuestas del modelo o abusar del servicio sin restricción alguna, lo que representa un riesgo operativo y económico significativo, especialmente en despliegues sobre infraestructura de GPU.

Versiones afectadas

La vulnerabilidad está presente en vLLM desde la versión 0.3.0 hasta la versión 0.22.0 (sin incluir esta última). Todos los despliegues que utilicen autenticación mediante VLLM_API_KEY o --api-key en ese rango de versiones deben considerarse comprometidos en cuanto a su control de acceso.

Solución

El equipo de vLLM ha publicado la corrección en la versión 0.22.0. Se recomienda actualizar a esta versión o superior de forma inmediata. Mientras no sea posible actualizar, se aconseja restringir el acceso al servicio mediante controles de red perimetrales, como listas de control de acceso o proxies inversos con autenticación propia, para mitigar la exposición.