Next.js: negação de serviço com uma única requisição HTTP

Um pesquisador descobriu uma vulnerabilidade CVE-2026-23870 em React Server Components usados no Next.js e em outras aplicações React. A falha ocorre ao processar dados de formulário passados para funções de servidor (Server Actions): devido a um algoritmo ineficiente de análise de entrada, o servidor executa um número excessivo de operações. Como resultado, até mesmo uma única requisição HTTP especialmente criada pode bloquear o processamento de outras requisições por um período prolongado.
Para explorar a vulnerabilidade, um atacante envia uma requisição POST contendo um grande número de campos de formulário e referências a formulários aninhados. Ao processar cada referência desse tipo, o React varre novamente toda a lista de campos, fazendo com que a complexidade de processamento cresça quadraticamente. No estudo, uma requisição de aproximadamente 900 KB acionou cerca de 100 milhões de verificações de string e interrompeu o processamento de outras requisições por aproximadamente quatro segundos na configuração de teste. Em um ambiente com balanceador de carga, três requisições consecutivas fizeram com que o servidor fosse removido do pool de nós disponíveis.
Um atacante pode interromper a disponibilidade de aplicações web ao bloquear o processamento de requisições legítimas e acionar erros 503. Se a função de servidor vulnerável for acessível sem autenticação, o ataque pode ser realizado sem uma conta; caso contrário, uma conta de usuário comum pode ser necessária. Repetir as requisições pode estender a indisponibilidade e interromper o serviço para outros usuários.
Vulnerabilidades
Pesquisadores
Produto