Starlette: request.form() ignora limites max_fields e max_part_size para urlencoded
O método request.form() em Starlette ignora silenciosamente os limites max_fields e max_part_size para requisições application/x-www-form-urlencoded, enquanto o
O que mudou
O método request.form() em Starlette ignora silenciosamente os limites max_fields e max_part_size para requisições application/x-www-form-urlencoded, enquanto os aplica corretamente para multipart/form-data. Isso permite que um atacante envie um corpo urlencoded com um número arbitrariamente grande de campos ou um campo arbitrariamente grande, causando negação de serviço por bloqueio de CPU ou exaustão de memória.
Quem isso afeta
Todas as aplicações construídas com Starlette (ou FastAPI) que chamam request.form() em requisições application/x-www-form-urlencoded.
O que fazer hoje
Atualize para uma versão corrigida do Starlette que encaminha max_fields e max_part_size para o parser url-encoded e os aplica durante o parsing.