POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listAmbos os endpoints aceitam uma configuração completa de servidor MCP no corpo da requisição JSON, incluindo os campos Cmd, args e env que o transporte stdio utiliza para iniciar processos do servidor . Quando um usuário autenticado chama qualquer um desses endpoints com essa configuração, o LiteLLM pega o valor do Cmd fornecido e o executa como um subprocesso na máquina hospedeira, com as mesmas permissões do sistema operacional do próprio processo do proxy LiteLLM
.
Originalmente, a BerriAI divulgou isso como um bug de execução remota de código autenticada — um invasor precisava de uma chave de API válida para alcançar os endpoints, e não havia nenhuma verificação de função para restringir quem poderia chamá-los. Até mesmo um usuário interno com poucos privilégios, munido de qualquer chave de API válida do proxy, poderia executar comandos arbitrários no host . Mas a história não termina aí.
A segunda vulnerabilidade é a CVE-2026-48710, apelidada de "BadHost" pelos pesquisadores. Trata-se de uma falha de validação do cabeçalho Host no Starlette, o framework ASGI leve que serve de base para o FastAPI, vLLM e milhares de outras aplicações web em Python — incluindo o LiteLLM . Todas as versões do Starlette da 0.8.3 até a 1.0.0 são afetadas
.
A causa raiz é uma discordância de interpretação entre como o Starlette roteia as requisições que chegam e como ele reconstrói a URL para a lógica da aplicação . A camada de roteamento ASGI usa o caminho HTTP bruto da requisição para decidir qual endpoint vai tratá-la. Mas o
request.url — a URL que os middlewares e decoradores da aplicação enxergam — é reconstruída concatenando o valor bruto do cabeçalho Host com o caminho da requisição, sem a devida validação .
Ao injetar caracteres delimitadores de autoridade-para-caminho da URI, como ? ou #, no cabeçalho Host, um invasor pode fazer com que o request.url.path pareça completamente diferente do caminho real que foi roteado . O middleware de segurança vê um caminho inofensivo, como
/, enquanto o roteador, nos bastidores, encaminha a requisição para o verdadeiro endpoint alvo. Qualquer middleware de autenticação baseado em caminho que confie no request.url.path pode ser contornado com facilidade .
O decorador de autenticação do LiteLLM verifica o request.url.path para determinar se uma requisição precisa de uma chave de API válida. O desvio do BadHost permite que um invasor manipule essa URL de forma que o middleware veja um caminho que não exige autenticação, enquanto o roteador ASGI, ao mesmo tempo, despacha a requisição para um dos endpoints vulneráveis de injeção de comandos do MCP .
Isso remove a única barreira de controle de acesso que existia entre a internet e a execução arbitrária de comandos. Um invasor sem nenhuma credencial e sem acesso prévio à rede pode enviar uma única requisição HTTP manipulada que contorna totalmente a autenticação e executa comandos no sistema operacional do servidor que hospeda o proxy LiteLLM . A Horizon3.ai confirmou que a cadeia completa funciona e atribuiu a ela uma pontuação CVSS combinada de 10.0 — a gravidade máxima — porque atinge a execução remota de código sem autenticação
.
Uma exploração bem-sucedida concede ao invasor a execução de comandos com os privilégios do processo do proxy LiteLLM. A partir daí, a superfície de ameaça se expande rapidamente:
A adição da CVE-2026-42271 ao catálogo KEV pela CISA, em 8 de junho de 2026, confirma que a vulnerabilidade não é teórica — criminosos já estão armando ataques com ela neste exato momento . Sob a Diretriz Operacional Vinculativa 22-01, todas as agências civis do poder executivo federal dos EUA devem corrigir as vulnerabilidades listadas no KEV dentro de um prazo de remediação definido. A CISA também recomenda fortemente que todas as organizações, públicas e privadas, tratem as adições ao KEV como prioridades emergenciais de correção
.
A correção para a exploração combinada exige atualizações em duas frentes, além de várias medidas de defesa em profundidade para lidar com a exposição de credenciais:
Host recebidos em relação à especificação de URL e ignora cabeçalhos que contenham caracteres inválidos, impedindo o truque de confusão de caminho que viabiliza o desvio de autenticação POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listHost manipulados A severidade combinada CVSS 10.0, a exploração ativa em ambientes reais e a designação KEV da CISA significam que as organizações que executam serviços baseados em LiteLLM ou Starlette devem tratar este evento como uma emergência para correção e rotação de credenciais. A janela entre a exploração ativa e a exfiltração de credenciais já está aberta.