Cabeçalho penumbroso

Fix-React2Shell-Next e React2Shell RCE: Guia detalhado, ameaças reais e defesas robustas

Meta descrição: O React2Shell (CVE-2025-55182) é um RCE crítico de pré-autenticação que afeta os componentes do React Server e o Next.js - aplicação imediata de patches, configurações reforçadas, defesas de borda e detecção de tempo de execução são essenciais. Este guia fornece contexto de ameaças, correções seguras para código e CI e estratégias de defesa em profundidade para proteger aplicativos da Web modernos.

O que é o React2Shell - e por que todos estão falando sobre ele

No início de dezembro de 2025, foi divulgada publicamente uma vulnerabilidade crítica chamada React2Shell, rastreada como CVE-2025-55182 (e alias CVE-2025-66478 para Next.js). A falha está na forma como o protocolo "Flight" do React Server Components (RSC) desserializa as cargas úteis recebidas. Um invasor pode criar uma solicitação maliciosa e acionar uma desserialização insegura no servidor, levando a Execução remota de código (RCE) não autenticada. censys.com+2Sysdig+2

A gravidade é classificada como CVSS 10.0 (máximo). NetSPI+1 O que torna isso especialmente perigoso é que muitos implantações padrão de estruturas como Next.js (com suporte a RSC) tornam-se exploráveis, mesmo que o desenvolvedor não tenha escrito nenhum endpoint de função de servidor personalizado. Insight Egnworks+2blog.tecnetone.com+2

Logo após a divulgação, várias equipes de inteligência de ameaças e fornecedores de nuvem (AWS, GreyNoise, pesquisadores de segurança) relataram exploração ativa na natureza - incluindo varredura oportunista, tentativas de exploração e algumas intrusões confirmadas atribuídas a grupos ligados ao Estado. TechRadar+3Amazon Web Services, Inc.+3greynoise.io+3

Em essência: O React2Shell não é teórico - é real, crítico e atual.

CVE-2025-55182 PoC Penligent

Quem é afetado - e quem pode pensar que está seguro (mas não está)

Pacote / EstruturaVersões vulneráveisVersões corrigidas/seguras (a partir de dezembro de 2025)
react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack (núcleo RSC)19.0.0, 19.1.0, 19.1.1, 19.2.0 (react2shell.info)≥ 19.0.1, 19.1.2, 19.2.1 (react2shell.info)
Next.js (com o App Router / RSC ativado)15.x, 16.x; certain canary 14.x-14.3.0-canary.77+ (react2shell.info)15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 (ou estável posterior) (react2shell.info)

Observação importante: Mesmo que seu aplicativo tenha não definem "pontos de extremidade de função de servidor" explícitos e, mesmo que você pense que só usa o React para renderização do lado do cliente, ainda pode estar em risco - porque o React RSC pode ser empacotado por meio de dependências, ou o scaffolding padrão pode incluir código compatível com RSC. inseguro.sh+1

Portanto auditar cuidadosamente - não presuma que "estamos seguros porque não escrevemos o código do servidor".

O que os atacantes estão fazendo neste momento - Real Threats

  • Dentro de horas de divulgaçãoA partir de então, começaram as campanhas de varredura generalizada na Internet. greynoise.io+2cyble.com+2
  • Alguns Grupos APT ligados ao Estado chinês supostamente visava hosts vulneráveis ao React2Shell para acesso inicial e, em seguida, passava a implantar mineradores, roubar credenciais ou estabelecer persistência. Amazon Web Services, Inc.+2SOC Prime+2
  • As empresas de segurança e as equipes de resposta a incidentes observaram uma exploração bem-sucedida contra aplicativos Next.js "vanilla" (estruturados por meio de criar próximo aplicativo), o que significa que a configuração padrão não é garantia de segurança. blog.tecnetone.com+2byteiota | De Bits a Bytes+2

Um relatório da comunidade se destaca:

"Meu servidor NextJS foi comprometido pela exploração do React2Shell... Notificação de abuso de DDoS, 5 famílias distintas de malware implantadas, dropper cripto-minerador." Reddit

Dada a escala e a agressividade da automação de ataques, uma resposta atrasada ou superficial pode levar a sérios comprometimentos.

Correção imediata - usando fix-react2shell-next

A defesa mais rápida e de primeira linha é dependências de patches e reconstrução. O pacote fix-react2shell-next automatiza a detecção de versões vulneráveis em monorepresentações e as atualiza. CVE-2025-55182 Scanner+1

Exemplo de comando de upgrade:

bash

npx fix-react2shell-next npm install react@^19.2.1 react-dom@^19.2.1 next@^16.0.7

Em seguida, reconstrua e reimplante, garantindo que nenhum arquivo de bloqueio antigo ou pacote em cache permaneça.

Fluxo de trabalho recomendado (seguro para CI/CD):

  • Adicionar SBOM ou etapa de verificação de dependência ao pipeline.
  • Bloqueie as mesclagens/compilações se algum pacote RSC vulnerável permanecer.
  • Limpar caches e reconstruir todo o artefato antes da implementação.

Isso garante que seus artefatos de implantação não contenham mais códigos vulneráveis, mesmo transitoriamente.

Defesa em profundidade: WAF, proteção de solicitações e detecção de tempo de execução

A correção remove o bug na origem, mas a segurança robusta exige defesas em camadas - no caso de futuras configurações incorretas, dependências desconhecidas ou variantes de dia zero. Com base em pesquisas públicas (por exemplo, da Sysdig, Wiz e fornecedores que usam proteções nativas da nuvem) Sysdig+2research.jfrog.com+2Recomendamos o seguinte:

Proteções em nível de borda / WAF

Configure ou implemente regras do WAF para bloquear POSTs suspeitos em endpoints do RSC (por exemplo /_próximo, /_rscou rotas de função de servidor), especialmente se o tamanho do corpo da solicitação ou o tipo de conteúdo for incomum (por exemplo, cargas úteis binárias). Muitos dos principais provedores de WAF já implementaram assinaturas do React2Shell. Sysdig+1

Solicitar higienização / limites de tamanho do corpo

Se o seu aplicativo incluir endpoints de servidor personalizados, imponha limites de tamanho de corpo, restrinja tipos de conteúdo e rejeite explicitamente cargas inesperadas. Por exemplo (estilo Node/Express):

js

import { json, urlencoded } from 'body-parser'; app.use(json({ limit: '10kb' })); app.use(urlencoded({ extended: false, limit: '10kb' })); app.use('/api/rsc', (req, res, next) => {if (!['application/json','application/octet-stream'].includes(req.headers['content-type'])) {return res.status(415).end(); }next(); });

Isso reduz o risco de cargas malformadas ou mal-intencionadas acionarem a lógica de desserialização ainda complexa, ganhando tempo até a aplicação de patches completos.

Detecção/monitoramento de tempo de execução/alertas de spawn de processo

Como o comportamento pós-exploração geralmente envolve a geração de shell (por exemplo, mineradores, shells reversos), adicionar a detecção de tempo de execução (por meio de ferramentas como Falco, agentes de segurança de tempo de execução, EDR) ajuda a capturar invocações incomuns de child_process ou conexões de saída. Os pesquisadores da Sysdig já publicaram publicamente regras de detecção para padrões de exploração do React2Shell. Sysdig

Exemplo de proteção: Do patch à implantação segura (código + configuração)

bash

`# 1. Patch dependenciesnpx fix-react2shell-next npm install react@^19.2.1 react-dom@^19.2.1 next@^16.0.7

Ambiente de construção limpo

rm -rf node_modules .next package-lock.json npm install npm run build

CVE-2025-55182

Adicionar SBOM / verificação de dependência ao CI

Snippet do GitHub Actions`

yaml

nome: Prevent React2Shell Exposure on: [pull_request, push]jobs: dependency-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: npm ci - name: Block RSC packages run: | npm ls react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack || true npm ls react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack | grep -E "@(19\\.[0|1])\\." && (echo "Vulnerable RSC found" && exit 1)

Além disso, integre limites de tamanho de corpo e filtragem de tipo de conteúdo no código do servidor, conforme mostrado acima, e implante um agente de monitoramento de tempo de execução ou EDR nativo da nuvem para detectar comportamentos suspeitos após a implantação.

Dados do mundo real: Impacto, exploração e por que o atraso é perigoso

  • De acordo com a telemetria compartilhada publicamente, mais de 77.000 IPs expostos à Internet permanecem potencialmente vulneráveis. blog.tecnetone.com+1
  • Poucas horas após a divulgação, os invasores começaram a fazer varreduras em massa e a explorar sistemas sem patches, incluindo tentativas de grupos APT. Amazon Web Services, Inc.+2SOC Prime+2
  • O código público de prova de conceito (PoC) começou a circular, e alguns hosts não corrigidos supostamente sofreram comprometimentos totais: droppers de malware, mineradores de criptografia e exfiltração de credenciais. Reddit+1

Um usuário do Reddit escreveu:

"Meu servidor NextJS foi comprometido pelo React2Shell... várias famílias de malware, crypto-miner, roubo de credenciais." Reddit

Não se trata mais de um problema de "correção de acordo com a conveniência" - é urgente.

Onde Penligent.ai Adapta-se - testes automatizados, garantia contínua e proteção contra regressão

Para as equipes que usam ou criam ferramentas de teste de segurança ou de teste de penetração (especialmente automatizadas ou orientadas por IA), o React2Shell ilustra uma lição importante: vulnerabilidades baseadas em dependência + riscos de desserialização + configurações padrão criam uma enorme superfície de ataque.

Com Penligent.ai, você recebe:

  • Varredura automatizada de dependências e análise de SBOM - identificar pacotes RSC vulneráveis (react-server-dom-*) ou versões Next.js não corrigidas em vários repositórios de uma só vez.
  • Simulação de exploração automatizada (sandbox seguro) - A emulação em área restrita da Penligent pode gerar solicitações RSC malformadas (não destrutivas), testar a resposta do servidor e detectar comportamentos arriscados de desserialização, sem usar PoCs públicos.
  • Integração de CI/CD para alertas de regressão - se um novo pull request reintroduzir um pacote vulnerável ou desativar o middleware que protege a segurança, Penligent.ai aciona alertas antes da mesclagem.
  • Ganchos de monitoramento de tempo de execução - integrar agentes leves ou lógica de alerta para detectar a geração de processos, conexões de saída suspeitas ou outros comportamentos anômalos (por exemplo, criptomineração, chamadas C2).

Em resumo, o uso de Penligent.ai transforma uma correção única em uma postura de segurança contínuareduzindo o risco, mesmo que o código mude, as dependências evoluam ou o erro humano se instale.

Lista de verificação de práticas recomendadas e recomendações de proteção pós-patch

  1. Faça o patch de todos os pacotes RSC e Next.js imediatamente - não espere pelo "próximo sprint".
  2. Limpar e reconstruir artefatos - não dependem de compilações em cache.
  3. Auditar dependências e arquivos de bloqueio - incluem dependências transitivas.
  4. Adicionar verificações de CI/CD ou aplicação de SBOM - bloco mescla com pacotes vulneráveis.
  5. Use WAF ou filtragem em nível de borda - bloquear ou contestar POSTs suspeitos do protocolo de voo.
  6. Sanitizar entradas de solicitação - Aplique limites de tamanho de corpo, lista de permissões de tipo de conteúdo e validação de esquema JSON quando possível.
  7. Implantar detecção/monitoramento de tempo de execução - capturar a geração de processos, arquivos incomuns ou atividades de rede.
  8. Registrar, monitorar e alertar - manter trilhas de auditoria para login, implementações e comportamentos incomuns.
  9. Tratar as mudanças na estrutura como críticas para a segurança - Até mesmo pacotes voltados para o navegador, como o React, podem afetar a segurança do servidor quando o RSC está envolvido.
  10. Use ferramentas de segurança automatizadas (por exemplo Penligent.ai) - para varredura de dependências, detecção de regressão, simulação de exploração em área restrita e controle de qualidade de segurança.

Considerações finais

O React2Shell (CVE-2025-55182 / 66478) é um divisor de águas na segurança moderna de aplicativos Web. Ele demonstra que grandes estruturas, mesmo aquelas associadas principalmente à renderização da interface do usuário, podem conter falhas de segurança devastadoras no lado do servidor. Para desenvolvedores, DevOps e equipes de segurança: trate isso como um zero-day que já entrou em operação em milhares de implementações.

A correção das versões de dependência é apenas a primeira e mais urgente etapa. Uma postura realmente segura requer defesas em camadas: endurecimento, sanitização de entrada, monitoramento de tempo de execução, WAF ou filtros de borda, auditoria da cadeia de suprimentos e testes contínuos de segurança.

Se você estiver criando, mantendo ou auditando aplicativos da Web ou desenvolvendo ferramentas de segurança, agora é a hora de agir antes que os invasores cheguem lá. Com ferramentas como Penligent.aiSe você não tiver uma solução, poderá passar de "remendo de broca de fogo" para Garantia de segurança estruturada, contínua e automatizada - e durma melhor à noite sabendo que seu aplicativo é resiliente contra o React2Shell e futuras ameaças de desserialização.

Compartilhe a postagem:
Publicações relacionadas
pt_BRPortuguese