SOC Prime Bias: High

26 Oct 2026 16:41 UTC

CVE-2026-111497: Falha Crítica Node2Shell no Decodificador Brotli do Node.js

Author Photo
SOC Prime Team linkedin icon Seguir
CVE-2026-111497: Falha Crítica Node2Shell no Decodificador Brotli do Node.js
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Node2Shell é uma vulnerabilidade crítica (CVE-2026-111497) que afeta o decodificador Brotli integrado ao Node.js e é causada por uma escrita fora dos limites. Os atacantes podem explorar a falha fornecendo fluxos comprimidos malformados para serviços que processam dados Brotli, resultando potencialmente em negação de serviço, divulgação de memória ou execução remota de código. A vulnerabilidade apresenta um risco particular para serviços que utilizam Express 5 ou middleware que automaticamente realiza a descompressão de Brotli.

Investigação

A Equipe de Pesquisa de Ameaças da Sysdig analisou a vulnerabilidade e relatou que um PoC público surgiu poucas horas após o lançamento do patch. Pesquisa realizada pela Imperva e Vercel demonstrou que a execução de código é possível em arquiteturas específicas, incluindo Linux arm64. A investigação mostrou que a explorabilidade depende de se uma aplicação ou suas bibliotecas, como body-parser, processam fluxos Brotli controlados por atacantes.

Mitigação

A mitigação primária é atualizar o Node.js para as versões 22.23.4, 24.22.1 ou 26.12.1 e atualizar o Bun para a versão 1.4.4 ou superior. As organizações também devem desativar a descompressão de requisições quando possível, incluindo a configuração inflate: false no body-parser. Implementar regras de WAF para rejeitar Content-Encoding: br requisições não confiáveis e executar serviços sob contas sem privilégios fornecem camadas adicionais de defesa.

Resposta

Se uma cadeia potencial de exploração for detectada, como uma falha de processo do Node.js seguida de uma execução de programa inesperada, as equipes de segurança devem imediatamente isolar a carga de trabalho afetada. Monitore atividades pós-exploração, incluindo shells interativos, downloads não autorizados de malware, mineração de criptomoedas ou roubo de segredos e tokens de nuvem. Corrigir todos os serviços vulneráveis acessíveis deve ser a prioridade máxima.

Fluxo de Ataque

Ainda estamos atualizando esta parte.

Detecções

Processos Filhos do NodeJS Suspeitos [Windows] (via cmdline)

Equipe SOC Prime
25 de outubro de 2026

Shell Suspeito via Servidor Web [Linux] (via process_creation)

Equipe SOC Prime
25 de outubro de 2026

Processos Filhos do NodeJS Suspeitos [Linux] (via cmdline)

Equipe SOC Prime
25 de outubro de 2026

Detecção de Falha de Processo do Node.js Seguido por Execução de Programa no Local – Exploração Node2Shell [Criação de Processo Linux]

Regras de AI SOC Prime
25 de outubro de 2026

Execução de Simulação

  • Narrativa do Ataque & Comandos: O adversário alveja uma aplicação web executando Node.js. Eles enviam um payload malicioso comprimido com Brotli que desencadeia um erro de corrupção de memória, causando o processo node a falhar. Imediatamente após a falha, o atacante utiliza o fluxo de execução sequestrado para gerar um /bin/bash shell para estabelecer persistência e iniciar o reconhecimento local. Esta sequência de um processo node evento seguido por /bin/bash execução é projetada para corresponder à seleção_erro and seleção_execução_suspeita lógica da regra de detecção.

  • Script de Teste de Regressão:

    #!/bin/bash
    # Simulação de padrão de exploração do estilo Node2Shell
    
    echo "[+] Iniciando simulação Node2Shell..."
    
    # 1. Simular um processo Node.js que 'falha' ou é encerrado abruptamente
    # Em um cenário real, isso é uma falha. Aqui simulamos a telemetria 
    # de um processo node sendo invocado/manipulado.
    node -e "process.exit(1)"
    echo "[+] Processo Node.js 'falhou' (Código de Saída 1)."
    
    # 2. Simular a execução imediata de um shell suspeito
    # Isso imita o payload acionando o shell após a falha.
    /bin/bash -c "echo 'Exploitation Successful: Shell Spawned'"
    
    echo "[+] Simulação completa. Verifique SIEM para detecção."
  • Comandos de Limpeza:

    # Nenhum arquivo persistente foi criado por esta simulação.
    # Simplesmente assegure que nenhum processo bash desonesto esteja em execução.
    pkill -f "Exploitation Successful"