SOC Prime Bias: Crítico

05 Dez 2025 16:35

CVE-2025-55182 e CVE-2025-66478: Detecção de Alta Fidelidade para RSC/Next.js RCE

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
CVE-2025-55182 e CVE-2025-66478: Detecção de Alta Fidelidade para RSC/Next.js RCE
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Uma falha de execução remota de código afeta aplicações Next.js que usam Componentes de Servidor React. O problema pode ser acionado sem acesso prévio ao enviar uma solicitação HTTP multipart especialmente criada. Embora existam múltiplos exploits de prova de conceito públicos, muitos são pouco confiáveis ou incorretos. O artigo apresenta uma técnica de detecção de alta fidelidade que se baseia em uma resposta de erro característica do servidor.

Investigação

Os pesquisadores examinaram a lógica de análise de Componentes de Servidor React e descobriram que uma referência de propriedade delimitada por dois pontos pode gerar um erro 500 quando o objeto alvo está ausente. Eles então construíram uma carga multipart que aciona essa condição de forma confiável e confirmaram um padrão de resposta repetível. A regra de detecção proposta sinaliza respostas HTTP 500 que contêm o distintivo E{"digest" fragmento no corpo.

Mitigação

As etapas de mitigação incluem atualizar as versões afetadas do Next.js para versões que incorporam salvaguardas adicionais em torno da notação de dois pontos. As organizações devem implementar regras WAF para bloquear a estrutura multipart maliciosa e garantir que todas as solicitações recebidas que tocam os Componentes de Servidor React sejam validadas e higienizadas.

Resposta

As equipes de segurança devem escanear aplicações web expostas em busca da assinatura de solicitação-resposta descrita e priorizar correções para instâncias vulneráveis do Next.js. Se a exploração for suspeita, isolar o servidor impactado, preservar e revisar logs em busca de evidências de execução de código, e aplicar os patches relevantes sem demora.

Fluxo de Ataque

Ainda estamos atualizando esta parte. Inscreva-se para ser notificado

Notifique-me

Execução de Simulação

Pré-requisito: a Verificação Pré-voo de Telemetria e Base deve ter sido aprovada.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e narrativa DEVEM refletir diretamente os TTPs identificados e visar gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.

    • Narrativa do Ataque e Comandos:
      O atacante, tendo identificado que o alvo executa uma versão vulnerável do Next.js, cria uma solicitação multipart maliciosa que imita um fluxo legítimo de upload de ativos. Ao configurar o User-Agent para Assetnote/1.0.0 e injetar os cabeçalhos internos do Next.js Next-Action: x e X-Nextjs-Request-Id: b5dce965, a carga útil aciona o componente do lado do servidor que desserializa dados não confiáveis, causando uma exceção de tempo de execução. O servidor responde com HTTP 500 e inclui o digest serializado (E{"digest), que a regra de detecção observa.

    • Script de Teste de Regressão:

      #!/usr/bin/env bash
      #
      # Simulação de exploit para regra de detecção de RCE do Next.js (T1595.002)
      # Gera o padrão de pacote exato que a regra Sigma espera.
      #
      TARGET="http://127.0.0.1"
      ENDPOINT="/"
      USER_AGENT="Assetnote/1.0.0"
      BOUNDARY="----WebKitFormBoundary$(date +%s)"
      
      # Corpo multipart mínimo; o conteúdo é irrelevante para a detecção.
      read -r -d '' PAYLOAD <

      Execute o script em uma máquina que possa alcançar o servidor web alvo. O status HTTP esperado é 500 e o log de erros do servidor conterá a string E{"digest.

  • Comandos de Limpeza:

    # Sem alterações persistentes no alvo; simplesmente remova quaisquer arquivos temporários localmente
    rm -f /tmp/exploit_payload.tmp 2>/dev/null || true