A X41 D-Sec divulgou CVE-2026-48710 — batizada de BadHost — essa semana, e a árvore de dependências é a manchete. Starlette, a implementação ASGI que sustenta FastAPI, aceita valores inválidos de HTTP Host header sem validação, então a URL que ele reconstrói (usada por middleware e `request.url.path`) pode ser feita diferir do path realmente roteado. Um único caractere injetado no Host header bypassa a autorização path-based em qualquer app que verifica `request.url`. Starlette envia 325 milhões de downloads semanais. Pacotes afetados explicitamente nomeados pelos pesquisadores: FastAPI, vLLM (onde o bug foi originalmente descoberto), LiteLLM, Text Generation Inference, a maioria dos proxies OpenAI-shim, servidores MCP, harnesses de agentes, dashboards de eval, UIs de model-management. CVSS 7/10 — Secwest nota que essa classificação "subestima materialmente" o risco real; X41 D-Sec a classifica como crítica.
O primitivo de exploit é trivial. Starlette reconstrói a URL requisitada do Host header + path; o roteamento depende do path HTTP real; `request.url.path` usa a URL reconstruída. Quando a autenticação é gated em `request.url.path`, as duas visões inconsistentes deixam um atacante conseguir o código de autenticação aprovar uma rota que não deveria alcançar. Além do bypass de auth, o primitivo habilita SSRF (server-side request forgery) e em algumas configurações execução remota de código. Funciona contra a maioria dos sistemas não atrás de um firewall corretamente configurado pra filtrar Host headers. Scanner: X41 D-Sec e Nemesis co-lançaram um em mcp-scan.nemesis.services que verifica qualquer servidor dado. O fix é Starlette 1.0.1 (lançado sexta) — cada framework downstream precisa atualizar.
O blast radius do scan inicial é a parte que builders deveriam ler antes da segunda. X41 D-Sec achou instâncias vivas expostas abrangendo: bases de dados de clinical trial biopharma e dados M&A com SSRF; stacks de identity verification com análise facial, KYB, PII e acesso a codebase interno; sistemas IoT/Industrial com SSH-via-bastion e execução remota de código; leitura/envio/deleção completa de mailbox e export S3; pipelines HR com PII de candidatos; CMS/marketing com listas de assinantes e envio/scheduling de mass-email; document management com leitura/upload/modificação em documentos escaneados; cloud monitoring com topologia AWS e queries de métricas; ferramentas de cibersegurança incluindo acesso vivo ao scanner Nuclei; dados personal health/finance incluindo nutrição, despesas e assinaturas. Servidores MCP são particularmente valiosos porque mantêm credenciais pra *cada* sistema externo ao qual o agente está conectado — single breach, blast radius multi-sistema.
Segunda de manhã: se você shipa qualquer coisa em cima de FastAPI, vLLM, LiteLLM, TGI, um servidor MCP, ou qualquer proxy OpenAI-shim, pin Starlette pra 1.0.1+ imediatamente. A forma do path do patch é `pip install --upgrade starlette` (ou teu equivalente) seguido de um reinício de serviço. Rode mcp-scan.nemesis.services contra teus endpoints antes de dormir hoje à noite — é grátis, leva uma única URL. Se tua infraestrutura de agente expõe servidores MCP à internet, audite a camada credential vault separadamente: quaisquer credenciais que esses servidores mantiveram em memória deveriam ser consideradas potencialmente comprometidas em qualquer host que rodou um Starlette vulnerável entre o release de sexta e teu patch. O emparelhamento com a notícia da manhã do Anthropic Claude Mythos é a lição maior — LLMs de descoberta autônoma de vulns estão achando 10K+ bugs em OSS, e uma única CVE de dependência transitiva acabou de expor cada harness de agente que usa o framework Python web dominante. Cadência de patches agora é uma habilidade de sobrevivência de builder, não uma tarefa ops.
