Resumo
- Vulnerabilidade: CVE-2026-42271 — injeção de comandos no BerriAI LiteLLM, CVSS 8.7. Encadeada com CVE-2026-48710 (Starlette), gera RCE não autenticado com CVSS combinado 10.0.
- Status: CISA adicionou ao catálogo KEV (Known Exploited Vulnerabilities) em 9 de junho de 2026, confirmando exploração ativa.
- Versões afetadas: LiteLLM >= 1.74.2 até < 1.83.7.
- Versão com correção: LiteLLM 1.83.7 e Starlette 1.0.1.
A CISA (agência de cibersegurança dos EUA) adicionou na segunda-feira (9) a vulnerabilidade CVE-2026-42271 no gateway de IA LiteLLM ao seu catálogo de falhas exploradas ativamente. A falha permite que qualquer usuário autenticado execute comandos arbitrários no servidor proxy. Pesquisadores da Horizon3.ai demonstraram que o encadeamento com uma falha no framework Starlette (CVE-2026-48710) transforma o problema em execução remota de código sem autenticação, com CVSS combinado de 10.0.
Como funciona a injeção de comandos
O LiteLLM é um gateway open-source que funciona como proxy para múltiplos provedores de IA (OpenAI, Anthropic, Google e outros). A vulnerabilidade reside em dois endpoints de teste de configuração de servidores MCP (Model Context Protocol): POST /mcp-rest/test/connection e POST /mcp-rest/test/tools/list. Esses endpoints aceitam no corpo da requisição a configuração completa do servidor, incluindo os campos command, args e env do transporte stdio.
Quando chamados com uma configuração stdio, os endpoints tentam estabelecer conexão e executam o comando fornecido como subprocesso no host do proxy, com os privilégios do processo. A única proteção era uma chave de API válida — qualquer usuário autenticado, incluindo portadores de chaves internas de baixo privilégio, podia injetar comandos. A correção na versão 1.83.7 exige a role PROXY_ADMIN para acessar esses endpoints.
O encadeamento com Starlette
A gravidade escala com o encadeamento descoberto pela Horizon3.ai. O CVE-2026-48710 (CVSS 6.5) é uma falha de validação do header Host (“BadHost”) no framework Starlette, usado como camada ASGI pelo LiteLLM. Em versões do Starlette anteriores a 1.0.0, um atacante pode forjar o header Host para burlar completamente o mecanismo de autenticação do LiteLLM.
O resultado: sem credenciais, sem sessão, sem token — o atacante envia uma requisição com o header manipulado e o corpo contendo o comando malicioso. O CVSS combinado atinge 10.0 (crítico). As consequências incluem:
- Execução arbitrária de comandos no host do LiteLLM
- Acesso a credenciais de provedores de modelo (chaves OpenAI, Anthropic, etc.)
- Exfiltração de API keys e secrets armazenados pelo proxy
- Movimentação lateral para infraestrutura de IA conectada
- Comprometimento de sistemas downstream integrados ao gateway
Linha do tempo do incidente
- Início de 2026: LiteLLM já enfrenta exploração ativa de CVE-2026-42208 (SQL injection, CVSS 9.3), comprometido em menos de 36 horas após divulgação pública.
- Maio de 2026: Pesquisadores da Horizon3.ai identificam e reportam o encadeamento CVE-2026-42271 + CVE-2026-48710.
- 28 de maio de 2026: BerriAI lança LiteLLM 1.83.7 com correções para ambos os endpoints de teste.
- 9 de junho de 2026: CISA adiciona CVE-2026-42271 ao catálogo KEV, confirmando exploração ativa.
Segundo a The Hacker News, não há informações sobre os atores por trás da exploração, o número de vítimas ou se o encadeamento está sendo usado nos ataques observados.
O que fazer agora
- Atualize o LiteLLM para 1.83.7 ou superior e o Starlette para 1.0.1 ou superior. Ambas as correções são obrigatórias.
- Bloqueie os endpoints de teste (
/mcp-rest/test/connectione/mcp-rest/test/tools/list) no reverse proxy ou API gateway como camada adicional. - Rotacione todas as credenciais armazenadas pelo proxy — chaves de API de provedores, tokens de acesso e secrets internos.
- Revise logs buscando atividade incomum de header Host e eventos de subprocesso inesperados, especialmente entre 1º de maio e a data de correção.
- Restrinja acesso de rede ao LiteLLM para segmentos confiáveis — o gateway não deve ser exposto à internet pública.
- Verifique se a instalação usa MCP (Model Context Protocol) — se não utiliza, os endpoints vulneráveis podem ser desabilitados diretamente.