Detalhes Técnicos

  • A vulnerabilidade afeta o framework Starlette em versões anteriores à 1.0.1.
  • A falha ocorre devido à falta de validação do cabeçalho de solicitação HTTP Host antes de ser usado para reconstruir request.url.
  • Isso permite que atacantes malformem o cabeçalho Host para fazer com que request.url.path difira do caminho que foi realmente solicitado.
  • Os controles de segurança baseados em request.url (em vez do caminho bruto scope) podem ser contornados.

Ações Recomendadas

  • Atualizar para a versão 1.0.1 ou superior do framework Starlette.
  • Validar o cabeçalho Host contra a gramática da RFC 9112 §3.2 / RFC 3986 §3.2.2 ao construir request.url.
  • Utilizar scope["server"] como fallback para valores malformados.

Posso adicionar exemplos práticos para cada item.