Ir para o conteúdo principal
Voltar aos artigos

Node.js e Brotli: o conteúdo perigoso também pode chegar na resposta do fetch

A atualização de segurança do Node.js exige olhar tráfego de saída, imagens e processos, não apenas requisições recebidas pela API.

·2 min de leitura·21 visualizações

O Node.js publicou dez correções de segurança, com primeiros lançamentos corrigidos nas versões 22.23.4, 24.22.1 e 26.12.1.[4] Entre elas está a CVE-2026-111497, uma escrita fora dos limites do buffer no decodificador Brotli, classificada pelo projeto como de alta gravidade e com potencial de execução remota de código.[4]

O que muda para quem desenvolve

O ponto menos óbvio é a direção dos dados: a exposição pode ocorrer ao descomprimir conteúdo controlado por terceiros com node:zlib ou automaticamente por fetch() ao receber uma resposta Brotli.[4] Uma API não precisa oferecer upload comprimido para merecer revisão.

Minha análise é que o inventário deve seguir o fluxo de dados, não apenas as portas abertas. Considere serviços SSR, coletores, integrações e ferramentas que consultam URLs externas. Uma dependência de rede aparentemente secundária também precisa de dono e política de atualização.

A demonstração pública relatada obteve execução de código numa compilação deliberadamente enfraquecida; numa compilação normal, mostrou queda e leitura limitada de memória.[4] Não havia relato de exploração em circulação no momento consultado.[4] Essas ressalvas limitam a conclusão sobre exploração prática, mas não eliminam a necessidade de correção.

Como aplicar

Liste onde o binário Node.js roda: imagem de aplicação, runner, máquina de build e ferramenta operacional. Atualize o runtime efetivamente implantado, não apenas o arquivo de dependências.

Um experimento seguro proposto é criar, em homologação, um servidor de teste que devolva conteúdo Brotli legítimo. Faça a aplicação consumi-lo pelo mesmo caminho usado em produção e confira conteúdo, erros e métricas antes e depois da atualização. Isso verifica regressões do fluxo, não comprova resistência a todas as variantes da falha.

Registre versão e digest de cada imagem substituída. Verifique também se algum processo antigo continua atendendo tráfego após o rollout. Node.js 20 e anteriores já estão fora de suporte segundo a reportagem e exigem migração para uma linha mantida.[4]

Cuidados e limites

Regras de firewall citadas pela Vercel para entradas maliciosas não cobrem respostas comprimidas buscadas pela aplicação em terceiros.[4] Proteção de borda não substitui essa atualização.

O pacote também altera confiança TLS, incluindo bloqueio de intermediárias eMudhra e remoção de raízes emSign; sessões retomadas anteriores à atualização não são revalidadas até expirar.[4] Teste integrações e planeje o reinício. Se uma conexão passar a falhar, investigue a cadeia de certificados em vez de desligar a validação para fazer o painel voltar a ficar verde.

Fonte

[4] Fonte: The Hacker News

Continue lendo