
Informe de inteligencia de amenazas sobre CVE-2026-42208, una inyección SQL crítica previa a la autenticación en BerriAI LiteLLM explotada en un plazo de 36 horas tras su divulgación. Cubre la ruta de ataque, las oportunidades de detección y las acciones recomendadas.
CVE: CVE-2026-42208
GHSA: GHSA-r75f-5x8p-qvmc
Puntuación CVSS: 9.3 (Crítica)
Software afectado: BerriAI LiteLLM versiones >= 1.81.16, < 1.83.7
Versión corregida: 1.83.7-stable (publicada el 19 de abril de 2026)
Añadido al KEV de CISA: 08 de mayo de 2026
Fuentes: CISA KEV, Sysdig TRT, The Hacker News, Security Affairs
Una vulnerabilidad crítica de inyección SQL pre-autenticación en el paquete Python LiteLLM de BerriAI fue explotada activamente en entornos reales en un plazo de 36 horas tras su divulgación pública. LiteLLM es una puerta de enlace de IA de código abierto con más de 22.000 estrellas en GitHub, ampliamente utilizada por organizaciones para gestionar llamadas API a múltiples proveedores de LLM, incluidos OpenAI, Anthropic y modelos alojados en la nube. Una explotación exitosa otorga a un atacante no autenticado acceso de lectura y escritura a la base de datos del proxy, que almacena claves API de proveedores de LLM, credenciales en la nube, claves virtuales y configuraciones de presupuesto de gasto. CISA añadió esta vulnerabilidad al catálogo de Vulnerabilidades Explotadas Conocidas (KEV) el 08 de mayo de 2026.
LiteLLM es un servidor proxy que expone una API REST compatible con OpenAI como interfaz unificada para docenas de proveedores de LLM upstream. Las organizaciones lo utilizan para centralizar el control de acceso a LLM, aplicar limitación de velocidad, realizar seguimiento de gastos y gestionar credenciales de múltiples proveedores de modelos desde un único punto. El proxy almacena claves API y credenciales de proveedores de nube en una base de datos backend PostgreSQL.
El almacenamiento centralizado de credenciales es lo que hace que esta vulnerabilidad tenga un impacto especialmente alto. Una instancia de LiteLLM comprometida no solo expone una clave API -- potencialmente expone todas las credenciales en la nube que la organización ha configurado en todos los proveedores de LLM.
El fallo existe en el proceso de verificación de claves API del proxy de LiteLLM. Cuando llega una solicitud, el proxy comprueba el valor del encabezado Authorization: Bearer contra su base de datos para autenticar al llamante. En las versiones afectadas, el valor del token bearer se concatenaba directamente en la cadena de consulta SQL en lugar de pasarse como entrada parametrizada:
# Patrón vulnerable (antes de v1.83.7)
cursor.execute(f"SELECT * FROM LiteLLM_VerificationToken WHERE key = '{api_key}'")
Una comilla simple en el valor bearer permite a un atacante escapar del literal de cadena y añadir sentencias SQL arbitrarias. Debido a que el punto de inyección está en la propia comprobación de autenticación, no se necesitan credenciales válidas para desencadenarla.
POST /chat/completions)Authorization: Bearer contiene una carga útil de inyección SQLEl Equipo de Investigación de Amenazas de Sysdig observó intentos de explotación en entornos reales dirigidos a:
LiteLLM_VerificationToken -- claves API virtuales y controles de acceso| Fecha/Hora | Evento |
|---|---|
| 19 de abril de 2026 | Parche publicado (LiteLLM v1.83.7-stable) |
| 20 de abril de 2026 21:14 UTC | Aviso del repositorio publicado por el mantenedor |
| 24 de abril de 2026 16:17 UTC | Aviso indexado en la base de datos global de avisos de GitHub (los feeds de defensores aparecen aquí) |
| 26 de abril de 2026 16:24 UTC | Primer intento de explotación observado por Sysdig TRT -- 36 horas y 7 minutos después de la indexación |
| 08 de mayo de 2026 | CISA añade CVE-2026-42208 al catálogo KEV |
La ventana de explotación de 36 horas es consistente con un actor de amenazas organizado que utiliza escaneo automatizado para monitorear nuevas publicaciones de CVE y desarrollar o adaptar rápidamente código de explotación. La inyección SQL es una clase de vulnerabilidad bien comprendida -- una vez identificada la ruta de código afectada, la armamentización es sencilla.
Confidencialidad: Alta -- el contenido de la base de datos es legible, incluidas las credenciales
Integridad: Alta -- la base de datos es escribible, las claves pueden añadirse, modificarse o eliminarse
Disponibilidad: Media -- el proxy puede interrumpirse mediante la modificación de la base de datos
Autenticación requerida: Ninguna -- completamente pre-autenticación
Acceso de red requerido: Sí -- el atacante debe poder alcanzar el puerto del proxy
Por qué esto importa más allá de un SQLi típico: LiteLLM está específicamente diseñado para centralizar la gestión de credenciales. Una organización que ejecuta una instancia comprometida de LiteLLM puede haberla configurado con claves API para OpenAI, Anthropic, Azure OpenAI, AWS Bedrock y otros proveedores. Cada una de esas claves representa acceso a servicios de LLM de pago con límites de gasto potencialmente significativos. Más allá del abuso de gasto en LLM, las credenciales de proveedores de nube en la base de datos podrían permitir movimiento lateral hacia entornos AWS, Azure o GCP.
| Estado | Versiones |
|---|---|
| Vulnerable | >= 1.81.16 y < 1.83.7 |
| Parcheada | >= 1.83.7-stable |
Busque solicitudes HTTP a endpoints de LiteLLM que contengan metacaracteres SQL en el encabezado Authorization:
Authorization: Bearer ' OR 1=1--
Authorization: Bearer '; SELECT * FROM LiteLLM_VerificationToken--
Authorization: Bearer ' UNION SELECT--
Indicadores a buscar en los registros del proxy:
/chat/completions, /embeddings u otras rutas API con tokens bearer malformadosLiteLLM_VerificationToken con cláusulas WHERE inusuales| Técnica | ID | Descripción |
|---|---|---|
| Explotar Aplicación Expuesta al Público | T1190 | Inyección SQL contra proxy LiteLLM accesible desde Internet |
| Credenciales de Almacenes de Contraseñas | T1555 | Extracción de claves API y credenciales en la nube de la base de datos del proxy |
| Cuentas Válidas: Cuentas en la Nube | T1078.004 | Uso de credenciales de proveedores de nube robadas tras la explotación |