Node.js 22.23.3 LTS corrige um bug use-after-free no HTTP/2
O Node.js 22.23.3 LTS, lançado em 23 de setembro, corrige um bug use-after-free no HTTP/2, adiciona suporte a SharedArrayBuffer na Node-API e passa para o OpenSSL 3.5.8.
3 min de leitura

O projeto Node.js lançou o Node.js 22.23.3 em 23 de setembro de 2026, um patch para sua linha de suporte de longo prazo. A mudança mais importante corrige um bug use-after-free no HTTP/2, um erro de memória no código que lida com conexões HTTP/2. Quem serve HTTP/2 a partir do Node.js 22 deve planejar a atualização.
O Node.js é o runtime que permite rodar JavaScript em servidores, e não apenas no navegador. A versão 22 é uma versão de suporte de longo prazo (LTS). Isso significa que ela recebe correções por anos e é o que muitas empresas usam em produção. O codinome da versão é "Jod".
O que a correção do HTTP/2 muda
O HTTP/2 é a versão mais nova do principal protocolo da web. Ele permite que uma única conexão transporte muitas requisições ao mesmo tempo, cada uma em seu próprio "stream".
Um bug use-after-free acontece quando um programa continua usando um trecho de memória depois de devolvê-lo. O programa passa então a ler ou gravar dados que podem pertencer a outra coisa. Bugs desse tipo podem derrubar um programa, e é por isso que são corrigidos rapidamente.
Segundo o LinuxCompatible, o problema era uma condição de corrida em nghttp2_session_mem_recv2(). Essa função faz parte do nghttp2, a biblioteca que o Node.js usa para ler o tráfego HTTP/2. Se um stream fosse fechado enquanto dados recebidos ainda estavam sendo processados, o código podia acessar memória já liberada. A correção espera a etapa de recebimento terminar antes de tratar a mensagem de fechamento do stream, chamada RST_STREAM.
Nenhuma das duas fontes informa um número CVE ou uma classificação de gravidade para o bug. As notas de versão oficiais o listam como correção de bug. Ele não aparece nas publicações de versões de segurança do projeto, cuja entrada mais recente é de julho de 2026.
Novas funções da Node-API para SharedArrayBuffer
A Node-API é a interface estável que os add-ons nativos usam. Add-ons nativos são módulos escritos em C ou C++ que o Node.js carrega diretamente, como drivers de banco de dados ou bibliotecas de imagem.
Esta versão permite que esses add-ons trabalhem com SharedArrayBuffer, um bloco de memória que várias threads de JavaScript podem ler e gravar ao mesmo tempo. As notas de versão adicionam napi_create_external_sharedarraybuffer e ampliam napi_create_typedarray para aceitar um SharedArrayBuffer.
Outras correções e atualizações de dependências
Duas correções menores são listadas. Uma restaura a possibilidade de aplicar patches no módulo de sistema de arquivos fs quando o código é carregado pelo carregador de módulos ES. A outra corrige o escape de variáveis de ambiente no Windows.
A versão também atualiza as bibliotecas incluídas:
| Componente | Nova versão |
|---|---|
| OpenSSL | 3.5.8 |
| Certificados raiz | NSS 3.125 |
| npm | 10.9.9 |
| corepack | 0.36.0 |
| Undici | 6.28.1 |
| ICU | 78.3 |
| c-ares | 1.34.8 |
| Dados de fuso horário | 2026c |
O OpenSSL cuida da criptografia do HTTPS. O Undici é o cliente HTTP por trás do fetch embutido do Node. Os certificados raiz definem em quais sites HTTPS o Node.js confia por padrão.
O que isso significa para desenvolvedores
Verifique se seus serviços em Node.js 22 falam HTTP/2 diretamente. Isso inclui servidores construídos sobre o módulo http2, serviços gRPC e aplicativos que encerram o TLS por conta própria, sem um proxy na frente. Esses são os serviços mais expostos ao bug de fechamento de streams, então migre-os primeiro para a 22.23.3.
Atualize suas imagens base, não só seus notebooks. Muitas equipes fixam uma versão do Node em um Dockerfile, em uma configuração de CI ou em um arquivo .nvmrc. Procure 22. nesses arquivos e atualize cada um, depois faça o rebuild.
Se você mantém um add-on nativo, as novas funções da Node-API permitem compartilhar memória com worker threads sem copiá-la. Adicione uma verificação de versão, porque essas funções só existem em versões mais novas e builds antigos do Node 22 não as têm.
Se sua suíte de testes faz mock do módulo fs sob módulos ES e quebrou em uma versão 22.x anterior, rode-a de novo na 22.23.3. A volta do patching pode permitir que você remova uma gambiarra.
Por fim, fique de olho em um CVE. As notas de versão não citam nenhum, e o projeto pode publicar um alerta de segurança mais tarde. Até lá, trate isto como um patch que vale aplicar agora, em vez de esperar a próxima atualização programada.
Fontes
- Node.js 22.23.3 (LTS) - Node.js
- Node.js 22.23.3 LTS Released with HTTP/2 Use-After-Free Fix - LinuxCompatible
Artigos relacionados

XSS nos logs de build do SourceHut permitia sequestrar contas
Um log de build manipulado podia executar script no navegador de um usuário do SourceHut. O ansi2html 1.9.4 corrige a falha, CVE-2026-92973, que afetava as versões 1.7.0 a 1.9.3.

Radicle até 1.10.3 envia repositórios privados sem criptografia
Todas as versões do Radicle até a 1.10.3 enviam dados de repositórios sem criptografia e deixam um atacante imitar um par confiável. Ainda não há correção.

Gzip 1.15 corrige corrida que apagava o arquivo errado
O Gzip 1.15 reúne 119 commits de 75 semanas de trabalho. Corrige uma corrida que podia apagar o arquivo errado e um estouro de buffer ao descompactar .lzh.