
Reproducible Proof-of-Concept para CVE-2021-3007 (RCE por deserialización HTTP en Laminas/Zend) con un script de exploit independiente, plantilla de Nuclei y entorno vulnerable basado en Docker para pruebas de seguridad autorizadas.
Este repositorio contiene una prueba de concepto totalmente reproducible y una plantilla de exploit de Nuclei para CVE-2021-3007, una vulnerabilidad crítica de deserialización de PHP en Zend\Http\Response\Stream (laminas-http < 2.14.2) que permite la escritura arbitraria de archivos a través de objetos serializados controlados por el atacante.
Esta plantilla utiliza lógica de explotación real (no detección basada en versiones) e incluye un entorno Docker y salida de depuración para su verificación.
CVE-2021-3007/ ├── CVE-2021-3007.yaml -> plantilla de exploit de Nuclei ├── docker-compose.yml -> Entorno de prueba vulnerable ├── Dockerfile ├── vulnerable-app/ │ ├── index.php -> endpoint vulnerable de unserialize() │ └── composer.json -> dependencia vulnerable ├── exploit.php -> script de explotación independiente └── README.txt
Iniciar la aplicación vulnerable
docker-compose up -d
Verificar: curl http://127.0.0.1:8080
Prueba de explotación manual (opcional)
docker exec -it cve-2021-3007-vulnerable php /var/www/html/exploit.php
http://localhost/index.php test.txt proof
Ejecutar la plantilla de Nuclei y recopilar los registros de depuración
nuclei -u http://127.0.0.1:8080
-t CVE-2021-3007.yaml
-debug -vv
-o nuclei-debug-CVE-2021-3007.log
El registro de depuración contiene solicitudes HTTP completas, datos del payload y respuestas de verificación de la explotación.
docker-compose down -v
Este PoC cumple con los requisitos del Nuclei Rewards Program:
Archivos para el envío del PR:
Solo para fines educativos y pruebas de seguridad autorizadas.