Executando verificação de segurança...
2

Falha grave no Node.js permitia ataques semelhantes a negação de serviço

O Node.js corrigiu uma falha de segurança grave que permitia derrubar aplicações inteiras a partir de uma única requisição maliciosa. O problema afetava praticamente qualquer aplicação Node.js em produção que utilizasse recursos como React Server Components, Next.js ou ferramentas de monitoramento de performance, incluindo Datadog, New Relic e OpenTelemetry.

A falha ocorria quando o recurso “async_hooks” estava ativo e o código provocava um stack overflow, situação em que chamadas recursivas ou estruturas excessivamente profundas ultrapassam o limite da pilha de execução. Nesse cenário específico, o Node.js encerrava o processo imediatamente, retornando o código 7, o que fazia o servidor parar de funcionar instantaneamente.

O ponto mais crítico é que o async_hooks é ativado automaticamente quando se utiliza AsyncLocalStorage, um recurso extremamente comum atualmente. Na prática, isso significa que a maioria das aplicações modernas em Node.js estava vulnerável sem ter conhecimento do problema.

Um atacante poderia, por exemplo, enviar um JSON extremamente profundo, com muitos níveis de aninhamento, provocando um stack overflow controlado. Com apenas uma requisição desse tipo, seria possível derrubar o processo do servidor, caracterizando um ataque de negação de serviço.

A vulnerabilidade foi mitigada nas versões 20.20.0, 22.22.0, 24.13.0 e 25.3.0 do Node.js.

Detalhes técnicos completos no blog do Node.js.

Carregando publicação patrocinada...