O Node.js lançou atualizações de segurança abordando a CVE-2026-111497, uma vulnerabilidade de alta gravidade em seu código de descompressão Brotli incluído que pode potencialmente permitir a execução remota de código. A falha é uma escrita fora dos limites desencadeada quando um decodificador vulnerável processa dados Brotli comprimidos especialmente forjados.
O problema afeta todos os ramos atualmente suportados do Node.js—22.x, 24.x e 26.x. O Node.js solucionou a vulnerabilidade nas versões 22.23.4, 24.22.1 e 26.12.1 como parte do lançamento de segurança de 21 de outubro de 2026, que corrigiu dez vulnerabilidades no total.
O risco é particularmente relevante porque a compressão Brotli é comumente usada para tráfego HTTP. Aplicações Node.js podem invocar o decodificador vulnerável diretamente através de node:zlib ou automaticamente quando fetch() recebe uma resposta usando Content-Encoding: br. Uma aplicação pode, portanto, ser exposta sempre que um conteúdo Brotli controlado por invasor alcançar o decodificador através de uma solicitação de entrada, resposta remota, fluxo de trabalho de proxy ou outro caminho de processamento de dados.
Para a detecção da CVE-2026-111497, as equipes de segurança devem priorizar as aplicações Node.js que processam conteúdo comprimido não confiável e monitorá-las quanto a falhas, comportamento anômalo de memória, processos filhos incomuns e atividade suspeita imediatamente após a descompressão Brotli.
A Plataforma de Inteligência de Detecção AI-Nativa da SOC Prime permite que as equipes de segurança reforcem a visibilidade sobre a exploração de vulnerabilidades emergentes e o comportamento associado ao comprometimento pós-ataque com conteúdo de detecção que pode ser implantado em tecnologias SIEM, EDR e Data Lake.
Clique Explorar Detecções para acessar conteúdo de detecção relevante e lógica de caça. Para detectar CVE-2026-111497, os defensores devem correlacionar a telemetria de aplicações Node.js com a atividade de endpoint, proxy, web e rede para identificar comportamentos suspeitos em torno do tráfego HTTP comprimido.
As equipes de segurança também podem aproveitar o Prime Architect para transformar informações frescas sobre vulnerabilidades em regras Sigma e consultas de caça, validar a lógica de detecção e traduzir o conteúdo de detecção relevante nas plataformas de segurança suportadas.
Análise da CVE-2026-111497
A vulnerabilidade reside no decodificador Brotli incluído com o Node.js. Brotli é um algoritmo de compressão amplamente usado para reduzir o tamanho do conteúdo web, e o Node.js inclui sua própria cópia da biblioteca.
Um fluxo comprimido malformado pode desencadear uma escrita fora dos limites, causando com que o decodificador escreva fora do buffer de memória alocado para os dados descomprimidos. A correção upstream altera o decodificador para que entradas inválidas sejam rejeitadas mais cedo, em vez de permitir que a execução continue na condição de escrita de memória não segura.
A CVE-2026-111497 afeta Node.js 22.x, 24.x e 26.x antes dos lançamentos de segurança de 21 de outubro. As versões corrigidas são:
- Node.js 22.23.4
- Node.js 24.22.1
- Node.js 26.12.1
Versões do Node.js 20.x e anteriores atingiram o fim da vida útil e não recebem a atualização de segurança, então organizações que usam essas versões devem migrar para um ramo suportado.
O problema subjacente não se limita ao Node.js. O código vulnerável vem do próprio projeto Brotli, e as correções correspondentes foram lançadas no Brotli 1.0.10, 1.1.1 e 1.2.1. Outras aplicações que incorporam versões vulneráveis do Brotli podem, portanto, precisar de atualizações separadas, mesmo que não usem o Node.js.
A superfície de ataque depende de como os dados comprimidos chegam à aplicação. O uso direto das APIs de descompressão Brotli é uma rota óbvia. No entanto, o Node.js também pode processar automaticamente respostas HTTP comprimidas com Brotli quando as aplicações usam fetch().
Isso torna aplicações que recuperam conteúdo controlado por atacantes especialmente relevantes. Exemplos incluem serviços de visualização de URL, rastreadores, processadores de webhook, plataformas de proxy, scanners de conteúdo, serviços de conversão e aplicações que permitem aos usuários enviar URLs remotas.
O tráfego de entrada pode criar outro caminho onde uma aplicação web ou middleware aceita corpos de solicitação comprimidos com Brotli. As equipes de segurança devem, portanto, examinar os fluxos de dados reais da aplicação em vez de limitar a avaliação de exposição a chamadas explícitas de Brotli no código-fonte.
Os detalhes sobre a CVE-2026-111497 mostram por que o problema pode ter consequências além de uma simples falha de serviço. A corrupção de memória pode potencialmente afetar o estado do processo próximo e, dependendo das proteções da plataforma e das condições de execução, levar à divulgação de memória ou execução arbitrária de código.
O Node.js descreve explicitamente a vulnerabilidade como capaz de execução remota de código, mas sua exequibilidade prática merece nuances. A falha é classificada como Alta pelo Projeto Node.js em vez de Crítica.
Uma prova de conceito pública da CVE-2026-111497 lançada após a divulgação alcançou a execução de código contra uma versão de teste deliberadamente enfraquecida. Contra uma construção padrão do Node.js, o pesquisador relatou uma falha e divulgação limitada da memória do processo, mas não conseguiu a execução de código de forma confiável. Isso significa que o primitivo de corrupção de memória é demonstrado, enquanto o RCE bem-sucedido contra construções de produção normais depende de condições adicionais de exploração.
As versões corrigidas do Node.js rejeitam o conteúdo malformado usado na demonstração. Em 22 de outubro, não havia sido relatada nenhuma exploração em campo.
Assim, IOCs específicos de campanhas da CVE-2026-111497, como endereços IP maliciosos, domínios, hashes de payload, ou assinaturas de pedidos de exploração confirmadas, não foram publicados na pesquisa citada.
As equipes de segurança devem, em vez disso, focar em indicadores comportamentais, tais como:
- Falhas inesperadas de serviços Node.js manipulando tráfego comprimido
- Falhas de segmentação ou falhas no decodificador nativo
- Alertas anômalos de proteção de memória ou prevenção de exploração
- Node.js gerando shells ou intérpretes de comando
- Conexões externas incomuns imediatamente após o processamento de Brotli
- Solicitações comprimidas suspeitas de fontes desconhecidas
- Atividade server-side fetch() alcançando infraestrutura não confiável
- Alterações inesperadas em arquivos ou processos originadas de uma conta de serviço Node.js
O lançamento de 21 de outubro do Node.js também corrigiu questões adicionais de alta gravidade envolvendo validação de hostname TLS e processamento de DNS. O CybersecurityNews nota que as organizações devem tratar o lançamento como uma atualização de segurança de runtime mais ampla em vez de focar exclusivamente na falha do Brotli.
O mesmo lançamento também atualizou as informações de confiança de certificados após o comprometimento da autoridade certificadora eMudhra, aumentando ainda mais o valor da atualização em vez de tentar aplicar apenas uma correção.
Mitigação da CVE-2026-111497
A mitigação primária da CVE-2026-111497 é atualizar todas as instalações suportadas do Node.js para uma versão corrigida:
- 22.x → 22.23.4 ou posterior
- 24.x → 24.22.1 ou posterior
- 26.x → 26.12.1 ou posterior
O Projeto Node.js não fornece uma solução temporária equivalente de runtime para a vulnerabilidade do Brotli, tornando a atualização o caminho confiável de remediação.
Após atualizar o runtime, os administradores devem reiniciar todos os serviços Node.js afetados. Processos de longa duração continuam usando o antigo runtime até serem reiniciados.
Cargas de trabalho containerizadas exigem atenção adicional. O CybersecurityNews recomenda especificamente a reconstrução de imagens de contêiner para que as aplicações implantadas contenham o runtime Node.js corrigido. Atualizar o Node.js no host subjacente não substitui um runtime vulnerável já incorporado dentro de uma imagem de contêiner.
Organizações que usam Brotli de forma independente também devem atualizar versões vulneráveis da biblioteca. Inventários de software e SBOMs podem ajudar a identificar cópias incorporadas em aplicações nativas, appliances, ferramentas de desenvolvimento e pacotes de terceiros.
Onde a atualização imediata não é possível, as organizações podem temporariamente reduzir a superfície de ataque por:
- Rejeitando corpos de solicitação comprimidos com Brotli onde a compressão é desnecessária
- Restringindo solicitações HTTP server-side a destinos confiáveis
- Impedindo que os usuários forneçam URLs remotas arbitrárias
- Limitando a conectividade externa de cargas de trabalho vulneráveis
- Desabilitando o processamento Brotli opcional onde for operacionalmente viável
- Monitorando falhas de aplicação e erros relacionados à memória atentamente
- Inspecionando processos filhos incomuns iniciados pelo Node.js
A Vercel introduziu proteções de firewall para bloquear dados Brotli maliciosos chegando através de solicitações de entrada. No entanto, o The Hacker News observa que essas regras não protegem aplicações que buscam de forma independente respostas Brotli maliciosas de servidores externos, ilustrando por que o filtragem WAF não pode substituir a atualização do runtime.
Os administradores também devem confirmar o runtime realmente usado por cargas de trabalho de produção após o patch. A saída de gerenciadores de pacotes é insuficiente quando binários mais antigos do Node.js permanecem dentro de contêineres, pacotes sem servidor, aplicações embaladas ou diretórios de runtime instalados manualmente.
Se a exploração for suspeita, os respondedores devem isolar a carga de trabalho afetada e preservar a telemetria de aplicação, endpoint, proxy e rede. Dumps de falha podem ser especialmente valiosos porque a vulnerabilidade afeta diretamente a memória do processo.
As equipes de segurança devem investigar:
- Processos filhos inesperados do Node.js
- Arquivos recém-criados ou mecanismos de persistência
- Conexões externas incomuns
- Alterações na configuração de aplicação ou implantação
- Credenciais e segredos disponíveis em variáveis de ambiente
- Chaves de API, tokens e credenciais de nuvem acessíveis ao processo Node.js
- Armazenamentos de dados de backend alcançáveis usando a identidade de serviço da aplicação
Devido à demonstração de divulgação limitada de memória de processo, os segredos residentes na memória da aplicação vulnerável devem ser considerados potencialmente expostos quando atividade de exploração suspeita for identificada, mesmo que a execução arbitrária de código não possa ser comprovada conclusivamente.
As organizações também devem revisar os privilégios atribuídos aos serviços afetados. A exploração bem-sucedida de um contêiner com privilégios mínimos tem consequências diferentes da exploração de um processo Node.js com credenciais de nuvem, acesso administrativo ao banco de dados, tokens de CI/CD ou permissões de implantação.
Clientes da SOC Prime podem aproveitar o conteúdo de detecção baseado em comportamento para identificar a exploração de vulnerabilidades e atividade de atacantes relacionada enquanto sistemas vulneráveis são descobertos e remediados.
Aviso: O conteúdo de detecção pode não estar disponível para todas as CVEs. Verifique a Plataforma SOC Prime para cobertura atual. Se detecções relevantes ainda não estiverem disponíveis, verifique novamente, pois novas informações sobre ameaças e conteúdo de detecção são continuamente adicionados.
FAQ
O que é CVE-2026-111497 e como funciona?
A CVE-2026-111497 é uma vulnerabilidade de escrita fora dos limites no decodificador Brotli incluído com o Node.js. Um fluxo de Brotli maliciosamente construído pode causar que o decodificador escreva além de seu buffer de memória pretendido. Dependendo do ambiente e das condições de exploração, isso pode levar a uma falha de processo, divulgação de memória de processo ou potencialmente execução de código controlado por atacantes. O decodificador vulnerável pode ser alcançado através de APIs de descompressão diretas ou automaticamente quando o Node.js processa respostas HTTP comprimidas com Brotli.
Quando a CVE-2026-111497 foi descoberta pela primeira vez?
O Projeto Node.js divulgou publicamente e corrigiu a vulnerabilidade em 21 de outubro de 2026. Os pesquisadores de segurança do OpenAI Codex Khai Tran e Sylvie Mayer são creditados pelo relato do problema ao Node.js. O The Hacker News relata que a mudança correspondente no código-fonte do Brotli foi feita upstream pela primeira vez em fevereiro de 2026, mas foi distribuída como uma correção de segurança em outubro.
Qual é o impacto da CVE-2026-111497 nos sistemas?
A exploração bem-sucedida pode corromper a memória dentro de um processo Node.js vulnerável. Possíveis consequências incluem negação de serviço através de falhas de aplicação, exposição de memória de processo e potencialmente execução remota de código. O impacto real depende de o conteúdo Brotli controlado por atacantes alcançar o decodificador e se o primitivo de corrupção de memória pode contornar as proteções no runtime alvo e no sistema operacional. Se a execução de código for alcançada, o atacante geralmente herdaria as permissões e o acesso disponíveis ao processo Node.js comprometido, potencialmente expondo dados de aplicação, credenciais, recursos de nuvem ou sistemas backend conectados.
A CVE-2026-111497 ainda pode me afetar em 2026?
Sim. Instalações do Node.js 22.x, 24.x e 26.x permanecem vulneráveis se não forem atualizadas para os lançamentos corrigidos de 21 de outubro. Organizações executando o Node.js 20.x ou mais antigas devem migrar para uma versão suportada, pois ramos descontinuados não recebem esta correção. Aplicações que incorporam bibliotecas Brotli vulneráveis de forma independente também podem permanecer expostas, mesmo se o próprio Node.js tiver sido atualizado.
Como posso me proteger da CVE-2026-111497?
Atualize o Node.js para 22.23.4, 24.22.1, 26.12.1 ou uma versão suportada mais recente e reinicie as cargas de trabalho afetadas. Reconstrua imagens de contêiner, atualize bibliotecas Brotli incorporadas de forma independente e verifique se os serviços de produção estão realmente executando os binários corrigidos. Até que o patch seja concluído, reduza a exposição ao input Brotli não confiável e restrinja as solicitações server-side a destinos aprovados. Monitore serviços vulneráveis quanto a falhas, processos filhos incomuns, atividade de rede inesperada e outros sinais de exploração de memória. Se a atividade suspeita for descoberta, isole a carga de trabalho, preserve as evidências forenses e roteie credenciais sensíveis disponíveis para o processo Node.js afetado.