CVE-2025-57633

9.8 CRITICAL

📋 TL;DR

This CVE describes a critical command injection vulnerability in FTP-Flask-python that allows unauthenticated remote attackers to execute arbitrary operating system commands. The vulnerability exists in the /ftp.html endpoint's file upload functionality, which directly passes user input to os.system() without sanitization. Any system running the vulnerable FTP-Flask-python application is affected.

💻 Affected Systems

Products:
  • FTP-Flask-python
Versions: All versions through commit 5173b68
Operating Systems: All operating systems running Python
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability is present in the default configuration when the /ftp.html endpoint is accessible.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise leading to data theft, ransomware deployment, lateral movement across networks, and persistent backdoor installation.

🟠

Likely Case

Remote code execution leading to web server compromise, data exfiltration, and potential pivot to internal network resources.

🟢

If Mitigated

Limited impact with proper network segmentation, minimal privileges, and input validation in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The exploit requires no authentication and minimal technical skill to execute.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available

Vendor Advisory: Not available

Restart Required: No

Instructions:

No official patch exists. Remove or replace the vulnerable application with a secure alternative.

🔧 Temporary Workarounds

Disable FTP Upload Endpoint

all

Remove or disable the /ftp.html endpoint to prevent exploitation.

# Edit ftp_app.py to remove or comment out the vulnerable route

Implement Input Validation

all

Add proper input sanitization to the ftp_file parameter before passing to os.system().

# Replace os.system() with subprocess.run() using proper escaping

🧯 If You Can't Patch

  • Network segmentation: Isolate the vulnerable system from critical assets
  • Implement strict firewall rules to limit access to the vulnerable endpoint

🔍 How to Verify

Check if Vulnerable:

Check if the application uses FTP-Flask-python commit 5173b68 or earlier and has the /ftp.html endpoint accessible.

Check Version:

git log --oneline -1

Verify Fix Applied:

Verify that the vulnerable endpoint is no longer accessible or that input validation has been implemented.

📡 Detection & Monitoring

Log Indicators:

  • Unusual commands in system logs originating from the Flask application
  • Multiple failed or suspicious upload attempts to /ftp.html

Network Indicators:

  • HTTP POST requests to /ftp.html with shell metacharacters in parameters
  • Outbound connections from the web server to unexpected destinations

SIEM Query:

source="web_logs" AND uri_path="/ftp.html" AND (method="POST" OR params CONTAINS "|" OR params CONTAINS ";" OR params CONTAINS "`" OR params CONTAINS "$")

🔗 References

📤 Share & Export