
بيئة اختبار Docker لثغرة CVE-2025-34299 - ثغرة تنفيذ التعليمات البرمجية عن بُعد قبل المصادقة في Monsta FTP
بيئة اختبار Docker لثغرة CVE-2025-34299 - ثغرة تنفيذ التعليمات البرمجية عن بُعد قبل المصادقة في Monsta FTP.
| الحقل | القيمة |
|---|---|
| معرف CVE | CVE-2025-34299 |
| الخطورة | حرجة (CVSS 9.8) |
| CWE | CWE-434 (رفع غير مقيد لملف بنوع خطير) |
| الإصدارات المتأثرة | <= 2.11.2 |
| الإصدار المُصحَّح | 2.11.3 |
| KEV | نعم |
تحتوي إصدارات Monsta FTP <= 2.11.2 على ثغرة تنفيذ تعليمات برمجية عن بُعد قبل المصادقة عبر رفع غير مقيد لملفات تعسفية. تقبل نقطة نهاية API الخاصة بـ downloadFile (/mftp/application/api/api.php) مسارات ملفات يتحكم فيها المستخدم دون تعقيم مناسب، مما يسمح للمهاجمين بـ:
actionName: downloadFile# 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