Pular para o conteúdo principal
NotíciasPatches e CorreçõesVulnerabilidades

Node.js expõe chaves privadas TLS e requisições de outros usuários

O projeto Node.js publicou correções para 16 vulnerabilidades, sete delas de severidade alta. A mais grave, a CVE-2026-123864, permite que um cliente não autenticado leia a memória de outras conexões em servidores HTTPS, material que inclui chaves privadas TLS e requisições de outros usuários, segundo o projeto. As três linhas com suporte foram afetadas.

A exploração depende de uma condição no código da aplicação. O servidor precisa ter um manipulador que chame res.flushHeaders() antes de o corpo da requisição chegar por inteiro e depois chame res.end() com dados. Ler a memória vazada exige ainda uma rota que devolva ou armazene o corpo. Servidores com o módulo node:http não foram afetados.

A CVE-2026-123863 derruba servidores com o suporte HTTP/2 embutido no runtime, nas linhas 24.x e 26.x. Basta um servidor HTTP/2 padrão que responda antes de o corpo da requisição chegar por completo, comportamento que o projeto classifica como típico. O ataque funciona sobre TLS e em texto claro, e dispensa autenticação.

A CVE-2026-123866 faz o servidor enviar ao cliente pedaços da própria memória, incluindo respostas de outras conexões, nas três linhas. A partir das versões 24.22.0 e 26.9.0 um cliente sozinho dispara a falha. Nas compilações anteriores, o gatilho exige que o servidor encerre um stream no meio de uma resposta.

Entre as demais falhas altas, a CVE-2026-123865 faz qualquer servidor HTTP/2 padrão reter memória e descritores de arquivo de forma permanente. A CVE-2026-123874 corrompe a memória nas linhas 24.x e 26.x que entregam arquivos com stream.respondWithFile() ou stream.respondWithFD(). A CVE-2026-126051 derruba servidores TLS que usam os ganchos SNICallback, OCSPRequest, newSession ou resumeSession, ou o server.addContext().

A CVE-2026-123872 trata da renegociação em TLS 1.2: um cliente aprovado para um nome de host pode mudar para outro com regras mais estritas de certificado sem atender a essas regras. As versões corrigidas são a 22.23.5, a 24.22.3 e a 26.13.1. Linhas em fim de vida, incluindo a 20.x e a 25.x, não receberam correção, e o projeto afirma que são sempre afetadas.

A atualização é a única solução indicada no comunicado, que não lista medida paliativa para quem não puder atualizar. As falhas acima estão no código de servidor HTTP/2, HTTPS e TLS do próprio Node.js, e afetam os ambientes em que o processo aceita essas conexões diretamente. O comunicado não relata ataques nem esclarece se há necessidade de substituir chaves TLS.

Compartilhe esta matéria

Newsletter

Receba as próximas notícias no seu e-mail

As principais notícias de cibersegurança, em primeira mão.

Leia também