Starlette · Starlette · CVE-2024-47874
Nome do software vulnerável e versões afetadas:
Versões do Starlette anteriores à 0.40.0
Descrição:
O problema está relacionado à forma como o Starlette lida com partes `multipart/form-data` sem um `filename`, tratando-as como campos de formulário de texto e armazenando-as em buffers como cadeias de bytes sem limite de tamanho. Isso permite que um invasor envie campos de formulário arbitrariamente grandes, fazendo com que o Starlette fique significativamente lento devido a alocações excessivas de memória e operações de cópia, e consuma cada vez mais memória até que o servidor comece a trocar memória e pare completamente, ou o sistema operacional encerre o processo do servidor com um erro OOM. O envio de várias solicitações desse tipo em paralelo pode ser suficiente para tornar um serviço praticamente inutilizável. Essa vulnerabilidade de negação de serviço (DoS) afeta todas as aplicações construídas com o Starlette (ou FastAPI) que aceitam solicitações de formulário.
Recomendações:
Para versões anteriores à 0.40.0, atualize para a versão 0.40.0 para corrigir o problema. Como solução temporária, considere restringir o tamanho dos campos de formulário ou desativar o tratamento de partes `multipart/form-data` sem um `filename` para minimizar o risco de exploração. Evite usar o endpoint `multipart/form-data` com entradas não confiáveis até que o problema seja resolvido.