
Reproducible Proof-of-Concept for CVE-2021-3007 (Laminas/Zend HTTP deserialization RCE) with a standalone exploit script, Nuclei template, and Docker-based vulnerable environment for authorized security testing.
This repository contains a fully reproducible Proof-of-Concept and Nuclei exploit template for CVE-2021-3007, a critical PHP deserialization vulnerability in Zend\Http\Response\Stream (laminas-http < 2.14.2) that allows arbitrary file write via attacker-controlled serialized objects.
This template uses real exploitation logic (not version-based detection) and includes a Docker environment and debug output for verification.
CVE-2021-3007/ ├── CVE-2021-3007.yaml -> Nuclei exploit template ├── docker-compose.yml -> Vulnerable test environment ├── Dockerfile ├── vulnerable-app/ │ ├── index.php -> unserialize() vulnerable endpoint │ └── composer.json -> vulnerable dependency ├── exploit.php -> Standalone exploit script └── README.txt
Start vulnerable application
docker-compose up -d
Verify: curl http://127.0.0.1:8080
Manual exploit test (optional)
docker exec -it cve-2021-3007-vulnerable php /var/www/html/exploit.php
http://localhost/index.php test.txt proof
Run Nuclei template and collect debug logs
nuclei -u http://127.0.0.1:8080
-t CVE-2021-3007.yaml
-debug -vv
-o nuclei-debug-CVE-2021-3007.log
The debug log contains complete HTTP requests, payload data, and exploit verification responses.
docker-compose down -v
This PoC satisfies the Nuclei Rewards Program requirements:
Files for PR submission:
For educational and authorized security testing only.