
CVE-2025-34299 - Monsta FTP 사전 인증 RCE 취약점을 위한 Docker 테스트 환경
| 필드 | 값 |
|---|
| 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 라이선스