O que foi corrigido
O boletim oficial lista como altas as CVE-2026-105482 (tratamento de NUL em dns.resolve), CVE-2026-105483, CVE-2026-106069 (validação de hostname/certificado TLS com representações não canônicas de IP) e CVE-2026-111497 (escrita fora dos limites no decodificador Brotli).
Também há correções de severidade média em HTTP keep-alive, validação de certificados e entropia de crypto.randomUUID()/randomInt() em snapshots e SEAs. Versões fora de suporte devem ser consideradas expostas até migração para uma linha mantida.
Plano de atualização
| Linha | Versão de correção | Status |
|---|---|---|
| 22.x | 22.23.4 | LTS |
| 24.x | 24.22.1 | LTS |
| 26.x | 26.12.1 | Current |
- Inventarie imagens de contêiner, pipelines, runners, funções serverless e processos gerenciados por PM2/systemd.
- Atualize a imagem ou pacote base; não confunda atualização de dependências npm com atualização do runtime Node.js.
- Recrie artefatos, faça deploy gradual e confirme a versão do processo em execução com
node --version. - Registre versão anterior, versão nova, serviço, data e responsável no controle de mudanças.
Verificação local
Informe a versão do Node.js
Consulte a versão com node --version e informe-a abaixo. A comparação é feita neste navegador; nenhum dado é enviado ao Vulcan Atlas.
A matriz cobre o boletim de 21 de outubro de 2026. Backports exigem validação com o fornecedor da distribuição.
Testes necessários após o patch
Execute em homologação e, após rollout gradual, monitore produção. Os testes abaixo comprovam compatibilidade do seu serviço; eles não tentam reproduzir as vulnerabilidades.
- Inicialização e dependências: execute a suíte automatizada, health checks e fluxos de login, API, filas e jobs. Confira logs por falhas de módulos nativos, OpenSSL ou Undici.
- DNS: valide que a aplicação rejeita entradas com caracteres de controle antes de chamar resolvedores e que domínios legítimos continuam resolvendo pelo caminho esperado.
- TLS: teste integrações com endpoints autorizados usando nomes DNS e IPs canônicos. Confirme que certificados válidos são aceitos e erros de certificado continuam interrompendo a conexão.
- HTTP: rode testes de integração com conexões persistentes, proxy reverso e balanceador; monitore taxa de 4xx/5xx, resets e aumento de latência.
- Compressão: processe somente fixtures internas e confiáveis de Brotli/ZIP usadas pela aplicação. Verifique que uploads malformados são recusados sem reinício do processo.
- Snapshots e SEAs: se a aplicação usa snapshots ou Single Executable Applications, reinicie múltiplas instâncias e valide que IDs de sessão, tokens e valores aleatórios não se repetem.
Mitigações emergenciais
Atualize o runtime assim que possível. Enquanto a mudança é planejada, reduza a exposição sem desligar controles que protegem a aplicação.
- Controle de entrada: recuse caracteres de controle em entradas que se tornariam hostnames e use allowlists para integrações externas.
- TLS estrito: não desative validação de certificado nem aceite hostnames/IPs informais para “restaurar” integrações após o update.
- Limites de recursos: limite tamanho e taxa de uploads comprimidos no proxy e na aplicação; alerte para reinícios e consumo anormal de memória.
- Isolamento: execute processos Node.js como usuário sem privilégios, com filesystem e rede mínimos necessários.
- Snapshots/SEA: interrompa novos artefatos com snapshots até validar a aleatoriedade na versão corrigida.
- Todos os processos usam uma versão corrigida ou posterior.
- O deploy passou nos testes de regressão relevantes.
- Telemetria não mostra regressão de TLS, DNS, HTTP ou consumo anormal de memória.
- As versões em uso foram registradas no inventário de ativos.
Scripts de contenção e monitoramento
Use apenas em hosts e pipelines que sua equipe administra. Os exemplos inventariam e observam; não executam exploração.
Inventariar runtime
node --version
node -p "process.versions"
npm --versionProcessos gerenciados
pm2 list
pm2 logs --lines 200
journalctl -u seu-servico --since "1 hour ago"Sinais operacionais
journalctl -u seu-servico -p warning --since today
ps -eo pid,comm,%mem,etimes | grep node
curl -fsS https://seu-servico/healthSubstitua seu-servico e a URL de health check. Preserve logs antes de reiniciar processos em uma investigação.