
Briefing de inteligência de ameaças sobre CVE-2026-42208, uma injeção SQL crítica de pré-autenticação no BerriAI LiteLLM explorada em até 36 horas após a divulgação. Abrange o caminho de ataque, oportunidades de detecção e ações recomendadas.
CVE: CVE-2026-42208
GHSA: GHSA-r75f-5x8p-qvmc
Pontuação CVSS: 9.3 (Crítica)
Software Afetado: BerriAI LiteLLM versões >= 1.81.16, < 1.83.7
Versão Corrigida: 1.83.7-stable (lançada em 19 de abril de 2026)
Adicionado ao CISA KEV: 08 de maio de 2026
Fontes: CISA KEV, Sysdig TRT, The Hacker News, Security Affairs
Uma vulnerabilidade crítica de injeção SQL pré-autenticação no pacote Python LiteLLM da BerriAI foi ativamente explorada no mundo real dentro de 36 horas após a divulgação pública. O LiteLLM é um gateway de IA de código aberto com mais de 22.000 estrelas no GitHub, amplamente utilizado por organizações para gerenciar chamadas de API em múltiplos provedores de LLM, incluindo OpenAI, Anthropic e modelos hospedados em nuvem. A exploração bem-sucedida concede a um atacante não autenticado acesso de leitura e escrita ao banco de dados do proxy, que armazena chaves de API de provedores de LLM, credenciais de nuvem, chaves virtuais e configurações de orçamento de gastos. A CISA adicionou esta vulnerabilidade ao catálogo de Vulnerabilidades Exploradas Conhecidas (KEV) em 08 de maio de 2026.
O LiteLLM é um servidor proxy que expõe uma API REST compatível com OpenAI como uma interface unificada para dezenas de provedores upstream de LLM. As organizações o utilizam para centralizar o controle de acesso a LLMs, aplicar limite de taxa, rastrear gastos e gerenciar credenciais em múltiplos provedores de modelos a partir de um único ponto. O proxy armazena chaves de API e credenciais de provedores de nuvem em um banco de dados backend PostgreSQL.
O armazenamento centralizado de credenciais é o que torna esta vulnerabilidade particularmente de alto impacto. Uma instância comprometida do LiteLLM não expõe apenas uma chave de API -- ela potencialmente expõe todas as credenciais de nuvem que a organização configurou em todos os provedores de LLM.
A falha existe no processo de verificação de chave de API do proxy do LiteLLM. Quando uma requisição chega, o proxy verifica o valor do cabeçalho Authorization: Bearer contra seu banco de dados para autenticar o chamador. Nas versões afetadas, o valor do token bearer era concatenado diretamente na string da consulta SQL em vez de ser passado como entrada parametrizada:
# Padrão vulnerável (antes da v1.83.7)
cursor.execute(f"SELECT * FROM LiteLLM_VerificationToken WHERE key = '{api_key}'")
Uma aspa simples no valor do bearer permite que um atacante escape do literal de string e anexe instruções SQL arbitrárias. Como o ponto de injeção está na própria verificação de autenticação, nenhuma credencial válida é necessária para acioná-la.
POST /chat/completions)Authorization: Bearer contém um payload de injeção SQLA Equipe de Pesquisa de Ameaças da Sysdig observou tentativas de exploração no mundo real visando:
LiteLLM_VerificationToken -- chaves de API virtuais e controles de acesso| Data/Hora | Evento |
|---|---|
| 19 de abril de 2026 | Patch lançado (LiteLLM v1.83.7-stable) |
| 20 de abril de 2026 21:14 UTC | Aviso do repositório do mantenedor publicado |
| 24 de abril de 2026 16:17 UTC | Aviso indexado no banco de dados global de avisos do GitHub (feeds de defensores aparecem aqui) |
| 26 de abril de 2026 16:24 UTC | Primeira tentativa de exploração observada pela Sysdig TRT -- 36 horas e 7 minutos após a indexação |
| 08 de maio de 2026 | CISA adiciona CVE-2026-42208 ao catálogo KEV |
A janela de exploração de 36 horas é consistente com um ator de ameaça organizado usando varredura automatizada para monitorar novas publicações de CVE e desenvolver ou adaptar rapidamente código de exploração. A injeção SQL é uma classe de vulnerabilidade bem compreendida -- uma vez que o caminho de código afetado é identificado, a armação é direta.
Confidencialidade: Alta -- conteúdo do banco de dados legível, incluindo credenciais
Integridade: Alta -- banco de dados gravável, chaves podem ser adicionadas, modificadas ou excluídas
Disponibilidade: Média -- o proxy pode ser interrompido através de modificação no banco de dados
Autenticação necessária: Nenhuma -- totalmente pré-autenticação
Acesso de rede necessário: Sim -- o atacante deve conseguir alcançar a porta do proxy
Por que isso importa além de um SQLi típico: O LiteLLM é especificamente projetado para centralizar o gerenciamento de credenciais. Uma organização executando uma instância comprometida do LiteLLM pode tê-la configurado com chaves de API para OpenAI, Anthropic, Azure OpenAI, AWS Bedrock e outros provedores. Cada uma dessas chaves representa acesso a serviços de LLM pagos com limites de gastos potencialmente significativos. Além do abuso de gastos com LLM, credenciais de provedores de nuvem no banco de dados poderiam permitir movimento lateral em ambientes AWS, Azure ou GCP.
| Status | Versões |
|---|---|
| Vulnerável | >= 1.81.16 e < 1.83.7 |
| Corrigida | >= 1.83.7-stable |
Procure por requisições HTTP para endpoints do LiteLLM contendo metacaracteres SQL no cabeçalho Authorization:
Authorization: Bearer ' OR 1=1--
Authorization: Bearer '; SELECT * FROM LiteLLM_VerificationToken--
Authorization: Bearer ' UNION SELECT--
Indicadores para procurar nos logs do proxy:
/chat/completions, /embeddings ou outras rotas de API com tokens bearer malformadosLiteLLM_VerificationToken com cláusulas WHERE incomuns| Técnica | ID | Descrição |
|---|---|---|
| Explorar Aplicação Exposta Publicamente | T1190 | Injeção SQL contra proxy LiteLLM acessível pela internet |
| Credenciais de Armazenamentos de Senhas | T1555 | Extração de chaves de API e credenciais de nuvem do banco de dados do proxy |
| Contas Válidas: Contas de Nuvem | T1078.004 | Uso de credenciais de provedores de nuvem roubadas pós-exploração |
Imediatas (se executando versões afetadas):