Quase um em cada dez servidores do LiteLLM expostos à internet que a Wiz Research analisou em fevereiro aceitava a chave de exemplo sk-1234, a chave de administrador mostrada no próprio guia de configuração do LiteLLM.
O LiteLLM é um gateway de IA open source, o software que uma empresa coloca entre suas aplicações e os provedores de modelos pelos quais paga. Essa chave é a credencial de administrador do gateway.
Quem a possui pode ler todas as chaves de API dos provedores de modelos armazenadas no servidor. Nos testes da Wiz, ela também dava acesso às credenciais de nuvem IAM da máquina em que o gateway roda.
Trocar a chave não exige atualização e elimina todos os caminhos descritos no relatório da Wiz que dependem dela.
Onde o número aparece
A Wiz fez uma varredura. Em fevereiro, encontrou 3.074 gateways do LiteLLM no Shodan, e 294 deles aceitaram a chave.
Em 191 desses 294, nenhuma chave havia sido definida, então qualquer valor seria aceito. Nos demais, o valor do guia de configuração havia sido mantido.
Uma segunda varredura, em agosto, encontrou mais de 85.000 instâncias, mas a Wiz afirma que a maioria parece ser honeypots ou sistemas de teste, de modo que os dois números não podem ser comparados. Não há uma estimativa atual.
Em 9 de setembro, o guia de configuração do LiteLLM ainda usava sk-1234, acima de um comentário orientando os operadores a substituí-la por um valor longo e aleatório antes de qualquer uso real.
Por que uma única chave importa tanto
A chave mestra cumpre duas funções ao mesmo tempo, e é isso que torna um valor padrão tão grave. Ela é a credencial de administrador e, ao mesmo tempo, o mecanismo que habilita a autenticação.
Antes da versão 1.82.0-stable, um gateway iniciado sem chave mestra concedia privilégios totais de administrador a todas as requisições recebidas.
Um administrador em um desses servidores tem muito alcance. O gateway pode armazenar uma chave de API para cada provedor ao qual encaminha tráfego, ver todos os prompts e respostas que passam por ele e se conectar a ferramentas internas via Model Context Protocol (MCP).
Normalmente, ele também roda com as permissões de nuvem da carga de trabalho em que foi implantado. Só as chaves de provedores roubadas já permitem que um atacante execute cargas de trabalho de modelos na conta da vítima, uma prática conhecida como LLMjacking.
Como a chave chega à conta de nuvem
O LiteLLM permite que um administrador crie um endpoint de passagem, uma rota que encaminha requisições para qualquer URL escolhida pelo administrador.
A URL de destino não é validada contra intervalos de endereços privados, localhost ou endereços de metadados de nuvem. Assim, um administrador pode apontar a rota para o serviço de metadados da instância e ler de volta as credenciais IAM que ele retorna.
Migrar para IMDSv2 não impede isso. O LiteLLM documenta que qualquer cabeçalho enviado com o prefixo x-pass- é repassado ao destino com o prefixo removido, e a Wiz usou esse comportamento para enviar os cabeçalhos exigidos pelo IMDSv2.
Nenhuma fonte relata alguém fazendo isso contra uma implantação real. Trata-se de uma demonstração, e ela exige acesso de administrador antes.
A Wiz afirma que o recurso, do ponto de vista conceitual, pode estar funcionando como planejado, porque o modelo de ameaças do LiteLLM trata administradores como confiáveis. Não há CVE nem correção para isso.
O projeto diz algo semelhante sobre o ponto de entrada. Sua política pública de segurança lista ataques que dependem de erro de configuração, como não definir uma chave mestra, como algo “explicitamente fora do escopo” e não tratado como vulnerabilidade.
A falha no guardrail e uma gravidade em disputa
A única falha de execução de código no relatório da Wiz é a
CVE-2026-59821
, e pesquisadores e mantenedores a descrevem de maneiras bem diferentes.
A Wiz a classifica como execução de código após autenticação em nível de root e mostra um teste que retorna uid=0(root) dentro do contêiner do gateway. O aviso da LiteLLM para a mesma CVE a classifica como baixa, com nota 2,1 na escala CVSS, descrevendo-a como uma falha que exige uma conta com privilégios altos.
Ambos descrevem o mesmo comportamento. Antes da versão 1.82.0-stable, os endpoints que criam e atualizam guardrails de código personalizado ignoravam as verificações de sandbox e de padrão aplicadas pelo endpoint de teste, de modo que qualquer pessoa que conseguisse acessá-los podia enviar Python que era executado dentro do contêiner.
O aviso acrescenta que uma implantação sem chave mestra tratava os solicitantes como administradores do proxy, o que colocava esses endpoints ao alcance.
O relatório da Wiz afirma que, após a versão 1.82.0, um atacante com a chave padrão só conseguiria executar código dentro de uma sandbox. O registro oficial da LiteLLM não sustenta isso para todas as versões.
Um aviso separado, publicado em maio, a
CVE-2026-40217
, diz que a sandbox podia ser burlada com técnicas de bytecode ao executar código no processo do proxy, que, segundo o aviso, roda como root na imagem padrão do Docker.
Ele cobre as versões de 1.81.8 até, mas sem incluir, 1.83.10, e o acesso ao endpoint exige uma credencial de administrador do proxy. A chave mestra é essa credencial.
As duas falhas reportadas pela Wiz foram corrigidas meses antes de seu relatório de 9 de setembro, em fevereiro e abril, e suas CVEs foram publicadas em julho.
Em paralelo: as falhas do LiteLLM que já estavam sendo exploradas
São problemas mais antigos, e nenhum deles é o caminho para as credenciais de nuvem descrito acima. Eles aparecem aqui porque afetam o mesmo produto e podem ser facilmente confundidos.
A CISA adicionou uma falha do LiteLLM ao catálogo Known Exploited Vulnerabilities em 2 de setembro. A
CVE-2026-59822
, também encontrada pela Wiz, com pontuação CVSS de 8,8, permite que um atacante sem autenticação abra uma sessão MCP válida usando qualquer token Bearer, inclusive um com apenas um caractere. As agências civis federais têm até 16 de setembro para corrigi-la.
A Wiz viu esse ataque sendo usado contra seus próprios honeypots a partir de 7 de julho, em requisições que carregam tokens de um único caractere para sondar endpoints de listagem de modelos. A empresa não descreveu outros usos.
Essa falha não leva às rotas de execução de código ou credenciais citadas acima. A Wiz afirma que ela “apenas permite acesso ao servidor MCP”. O que pode ser acessado depende de quais servidores de ferramentas a organização conectou.
A falha do LiteLLM usada por atacantes para executar código é outra. A
CVE-2026-42271
, com pontuação CVSS de 8,7, permitia que qualquer usuário autenticado executasse comandos no host por meio de dois endpoints de teste do MCP. A Horizon3.ai informou em junho que ela podia ser combinada com uma falha de cabeçalho do host no Starlette, a
CVE-2026-48710
, para fazer o mesmo sem nenhuma credencial.
Os honeypots da Wiz registraram essa falha sendo usada para instalar um minerador de criptomoedas.
A Microsoft publicou, em agosto, um caso em que atacantes executaram comandos dentro de um processo do gateway LiteLLM, leram o ambiente do contêiner para obter a chave mestra, as chaves de provedores e a string de conexão do banco de dados e, em seguida, usaram essa string para acessar o banco PostgreSQL subjacente e copiar registros das tabelas de modelos e chaves virtuais do LiteLLM.
A Microsoft avalia com alta confiança que os atacantes obtiveram acesso pelo gateway exposto e diz que o ponto de entrada corresponde à cadeia
CVE-2026-42271
e
CVE-2026-48710
. “Trate os gateways de IA como repositórios de segredos de nível 0”, disse a empresa.
O que fazer agora
Atualizar para 1.84.0 ou posterior cobre todas as falhas da tabela. As faixas de versão são as mesmas descritas nos avisos.
Falha
O que permite
Versões afetadas
Corrigida em
CVE-2026-59822
, bypass de autenticação MCP
Uma sessão MCP autenticada a partir de qualquer token Bearer, alcançando as ferramentas MCP configuradas nessa instância
Antes de 1.84.0
1.84.0
CVE-2026-42271
, execução de comandos em endpoint de teste do MCP
Qualquer usuário autenticado executa comandos no host
De 1.74.2 até, mas sem incluir, 1.83.7
1.83.7
CVE-2026-59821
, bypass da verificação de guardrail de código personalizado
Execução de código dentro do contêiner do gateway
Antes de 1.82.0-stable
1.82.0-stable
CVE-2026-40217
, escape da sandbox do guardrail
Execução de código como root na imagem padrão do contêiner
De 1.81.8 até, mas sem incluir, 1.83.10
1.83.10, embora o texto do aviso cite 1.83.11
Troque a chave mestra de sk-1234 por um valor longo e aleatório. Isso não exige atualização. Verifique antes se uma chave de sal separada foi definida, porque o procedimento de rotação muda e o uso da chave errada pode tornar as credenciais armazenadas ilegíveis.
Atualize para 1.84.0 ou posterior. Essa versão fica acima da versão corrigida de todas as falhas da tabela.
Se a atualização ainda não for possível, bloqueie /mcp/ e os dois endpoints de teste do MCP, POST /mcp-rest/test/connection e POST /mcp-rest/test/tools/list, no proxy reverso ou no gateway de API.
Bloqueie também POST /guardrails/test_custom_code e restrinja POST /guardrails e PUT /guardrails/{guardrail_id} a administradores. Essas são as medidas alternativas descritas nos próprios avisos da LiteLLM.
Revise os endpoints de passagem do gateway, restrinja o acesso de saída do contêiner à rede e conceda à carga de trabalho a função IAM de nuvem mais limitada possível.
Se houver suspeita de acesso de um atacante, revise a lista de guardrails em busca de entradas que você não criou e reinicie o processo para limpar o código mantido em memória. Depois, troque as chaves de provedores, a chave mestra e as credenciais do banco de dados. A atualização não remove um guardrail registrado por um atacante nem uma chave SSH adicionada por ele.
Não há patch para a rota de passagem para metadados da instância, porque a LiteLLM não a trata como falha. Limites de rede de saída e funções IAM restritas são as únicas defesas disponíveis.
Nenhuma fonte explica como verificar se MCP ou rotas de passagem estão habilitados em um gateway herdado. As consultas de investigação da Microsoft encontram exploração, não configuração.
Publicidade
Nossa audiência é formada por analistas, pentesters, decisores e entusiastas que consomem nossas notícias todo dia pelo Site, Newsletter e Instagram. Fale com quem realmente importa para o seu negócio. Anuncie aqui. Saiba mais...