Descripción general

LiteLLM es un servidor proxy, también conocido como AI Gateway, diseñado para realizar llamadas a APIs de LLM en formato OpenAI o en formato nativo. En versiones anteriores a la 1.84.0, se ha identificado un fallo en el procesamiento de la cabecera HTTP Host dentro del proxy de LiteLLM que, bajo condiciones específicas, podría permitir acceso no autenticado a rutas de gestión protegidas.

Descripción técnica de la vulnerabilidad

El problema reside en la forma en que la capa de autenticación del proxy determina la ruta efectiva de una solicitud entrante. Concretamente, el módulo litellm/proxy/auth/auth_utils.py, a través de la función get_request_route(), deriva la ruta evaluada a partir de request.url.path.

El framework Starlette, sobre el que se construye la aplicación, reconstruye esta URL a partir de la cabecera Host proporcionada en la solicitud HTTP. Esto abre la puerta a un vector de ataque en el que un actor no autenticado puede enviar una cabecera Host manipulada de forma que la puerta de autenticación evalúe una ruta diferente a la que FastAPI realmente despacha para su procesamiento.

En consecuencia, existe una desincronización entre la ruta que verifica el mecanismo de autenticación y la ruta que finalmente ejecuta el servidor, lo que puede resultar en la omisión de los controles de acceso sobre rutas de gestión que deberían estar protegidas.

Impacto

Un atacante remoto no autenticado podría, bajo condiciones específicas, acceder a rutas de gestión protegidas del proxy LiteLLM sin necesidad de credenciales válidas. Esto podría comprometer la administración del gateway de IA, exponer configuraciones sensibles o permitir operaciones no autorizadas sobre los recursos gestionados por el proxy.

Versiones afectadas

Todas las versiones de LiteLLM anteriores a la 1.84.0 están afectadas por esta vulnerabilidad.

Solución

La vulnerabilidad ha sido corregida en la versión 1.84.0 de LiteLLM. Se recomienda actualizar a esta versión o a cualquier versión posterior de forma inmediata para mitigar el riesgo de explotación.