AlertaIncidente contido

Alerta de segurança: React2Shell (CVE-2025-55182 / CVE-2025-66478)

Esta página explica como a vulnerabilidade React2Shell afetou o apptesters.org, o que fizemos para proteger nossos sistemas e o que isso significa para os seus dados.

Publicado originalmente em
12 de dezembro de 2025 (IST)
Status
Corrigido e monitorado
IDs de CVE
CVE-2025-55182 (React), CVE-2025-66478 (Next.js)

Impacto nos dados dos clientes

Nenhum indício de acesso a dados de clientes

Este servidor não armazena os dados da sua conta, pedidos, informações de pagamento nem certi­ficados. Esses dados ficam nos nossos backends em nuvem do Google e da Amazon, que não foram comprometidos.

Risco de exposição de dados (este servidor)

O que aconteceu

Execução remota de código no servidor web

Uma vulnerabilidade crítica do React Server Components foi explorada contra nosso app Next.js público. Os invasores conseguiram executar comandos limitados dentro de um contêiner restrito no servidor web.

Fluxo de requisição simplificado

Requisição do invasor→App Next.js→Serviço Node

Situação atual

Vulnerabilidade corrigida, C2 bloqueado, acesso reforçado

Atualizamos para versões corrigidas, removemos quaisquer artefatos maliciosos remanescentes, bloqueamos a infraestrutura do ataque no firewall, reforçamos as configurações de SSH e adicionamos monitoramento de integridade.

Camadas de defesa em vigor

App corrigidoBloqueios no firewallSSH reforçado

O que é a React2Shell (CVE-2025-55182 / CVE-2025-66478)?

A React2Shell é uma vulnerabilidade crítica de execução remota de código no React Server Components (RSC). Ela é identificada como CVE-2025-55182 no próprio React e como CVE-2025-66478 pelo impacto derivado em aplicações Next.js que usam o App Router.

Nas versões vulneráveis, o protocolo RSC podia ser induzido a fazer uma desserialização insegura de dados controlados pelo invasor. Esses dados podiam então acionar diretamente APIs do servidor e executar comandos de shell arbitrários via Node.js:

  • Um invasor envia uma requisição HTTP forjada para um endpoint vulnerável.
  • O servidor processa o payload RSC malicioso e acaba executando comandos arbitrários dentro do processo Node.js.
  • Esses comandos rodam com os mesmos privilégios da aplicação web naquele servidor.

A vulnerabilidade foi classificada como CVSS 10.0 (crítica) e tem sido amplamente explorada contra aplicações sem correção.

O que aconteceu no apptesters.org?

Nosso site principal, o apptesters.org, roda em Next.js com React Server Components. Durante a onda global de exploração da React2Shell, invasores conseguiram executar código remotamente neste servidor web de produção.

Pela análise de logs e processos, observamos:

  • O tráfego de exploração acionou comandos Node.js que tentavam baixar e executar payloads genéricos de botnet/malware.
  • Foram feitas várias tentativas de buscar binários e scripts em servidores externos de comando e controle e de estabelecer persistência.
  • Esses payloads falharam em sua maioria porque a aplicação rodava em um contêiner restrito, sem shell persistente, sem gerenciador de pacotes global e com limites rígidos de recursos.
  • Não foi encontrado nenhum indício de exfiltração de dados, coleta de credenciais ou movimentação lateral deste servidor para nossos backends em nuvem.

O que fizemos para proteger nossos sistemas

Nossa resposta se concentrou em corrigir a vulnerabilidade, remover qualquer possível malware e reforçar o acesso para reduzir o raio de impacto de problemas semelhantes no futuro.

1. Corrigimos a stack da aplicação

Atualizamos o Next.js para a 15.3.6 com a ferramenta oficial fix-react2shell-next, garantindo o uso da implementação reforçada do React Server Components.

2. Removemos artefatos suspeitos

Procuramos indicadores conhecidos de mineradores/botnets, removemos quaisquer binários ou scripts desconhecidos e garantimos que não restasse nenhum serviço ou cron job malicioso.

3. Reforçamos o acesso SSH

Restringimos os logins SSH apenas a acesso root por chave, revisamos as chaves autorizadas e reforçamos a configuração para reduzir os pontos de entrada remotos.

4. Adicionamos bloqueios na rede

Adicionamos regras de firewall explícitas para bloquear a comunicação com IPs de comando e controle maliciosos conhecidos associados a esta campanha.

5. Melhoramos o monitoramento e as verificações de integridade

Ativamos um monitoramento leve de integridade nos processos principais e adicionamos proteções para detectar uso anormal de recursos no servidor.

6. Documentamos e vamos continuar melhorando

Preparamos este resumo público do incidente e um relatório interno mais detalhado para continuar aprimorando nossa postura de segurança.

O que isso significa para os seus dados

A pergunta mais importante é se este incidente afetou os seus dados. Com base na nossa arquitetura e na investigação:

Onde seus dados realmente ficam

  • As contas dos clientes, os pedidos, os identificadores de dispositivos (UDIDs) e os dados operacionais ficam armazenados nos nossos backends em nuvem gerenciados (serviços do Google/Amazon).
  • Este servidor web hospeda apenas o frontend Next.js e a camada de API que se comunica com esses backends; ele não armazena cópias completas desses dados em disco.
  • Não encontramos nenhum indício de que os invasores tenham acessado esses sistemas em nuvem ou quaisquer registros de clientes.

Resumindo: este incidente afetou o ambiente do servidor da interface, não os bancos de dados onde suas informações ficam.

Antecipando problemas de segurança

Levamos incidentes a sério, mesmo quando nenhum dado de cliente é exposto. Este alerta faz parte do nosso compromisso de deixar claro o que aconteceu e como respondemos.

Visão geral de segurança