
CVE-2025-34299 の Docker テスト環境 - Monsta FTP Pre-Auth RCE 脆弱性
| フィールド | 値 |
|---|
| CVE ID | CVE-2025-34299 |
| 深刻度 | 緊急 (CVSS 9.8) |
| CWE | CWE-434 (危険なタイプのファイルの無制限アップロード) |
| 影響を受けるバージョン | <= 2.11.2 |
| 修正バージョン | 2.11.3 |
| KEV | はい |
Monsta FTP バージョン 2.11.2 以下には、無制限の任意ファイルアップロードを介した事前認証なしのリモートコード実行脆弱性が含まれています。downloadFile APIエンドポイント (/mftp/application/api/api.php) は、適切なサニタイズなしでユーザー制御のファイルパスを受け入れるため、攻撃者は以下を実行できます。
actionName: downloadFile を含むPOSTリクエストを送信する# Clone this repository
git clone https://github.com/KrE80r/CVE-2025-34299-lab.git
cd CVE-2025-34299-lab
# Start the vulnerable environment
docker-compose up -d
# Verify it's running
curl -s http://localhost:8080/mftp/ | grep -o "MonstaFTP"
# Test with nuclei template
nuclei -t CVE-2025-34299.yaml -u http://localhost:8080
# Expected output:
# [CVE-2025-34299] [http] [critical] http://localhost:8080/mftp/application/api/api.php ["2.10.4"]
# Check if the vulnerable API endpoint is accessible
curl -X POST http://localhost:8080/mftp/application/api/api.php \
-H "Content-Type: application/x-www-form-urlencoded" \
-d 'request={"connectionType":"ftp","configuration":{"host":"127.0.0.1","username":"test","initialDirectory":"/","password":"test","port":21},"actionName":"downloadFile","context":{"remotePath":"/test.txt","localPath":"/tmp/test.txt"}}'
# Expected response contains "CONNECTION_FAILURE_ERROR" proving the vulnerable code path is reached
# Stop and remove the container
docker-compose down
# Remove the image
docker rmi cve-2025-34299-lab-monsta-ftp-vulnerable
この環境はセキュリティ研究およびテスト目的のみで提供されています。自分が所有していない、または明示的なテスト許可がないシステムに対して使用しないでください。
MIT License