CVE-2010-20121
📋 TL;DR
EasyFTP Server versions up to 1.7.0.11 contain a critical stack-based buffer overflow vulnerability in the CWD command parser that allows unauthenticated remote attackers to execute arbitrary code. This affects all systems running vulnerable versions, particularly those with internet-facing FTP services, as anonymous access is enabled by default. Attackers can completely compromise affected systems.
💻 Affected Systems
- EasyFTP Server
📦 What is this software?
Easyftp Server by Easyftp Server Project
⚠️ Risk & Real-World Impact
Worst Case
Complete system compromise with remote code execution leading to data theft, ransomware deployment, or creation of persistent backdoors.
Likely Case
Remote attacker gains full control of the FTP server host system, potentially pivoting to other network resources.
If Mitigated
Limited impact if proper network segmentation and access controls prevent exploitation or contain damage.
🎯 Exploit Status
Multiple public exploits available including Metasploit module. Exploitation is straightforward with working public code.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.7.0.12 and later (renamed to UplusFtp)
Vendor Advisory: https://paulmakowski.wordpress.com/2010/02/28/increasing-payload-size-w-return-address-overwrite/
Restart Required: Yes
Instructions:
1. Download UplusFtp (renamed product) or EasyFTP Server version 1.7.0.12+ from official source. 2. Stop the FTP service. 3. Backup configuration files. 4. Install the updated version. 5. Restart the FTP service.
🔧 Temporary Workarounds
Disable Anonymous Access
windowsRemove anonymous FTP user account to require authentication
Edit EasyFTP configuration to remove anonymous user or set 'AllowAnonymous=0'
Network Access Control
allRestrict FTP access to trusted IP addresses only
Configure Windows Firewall or network firewall to allow FTP (port 21) only from specific IP ranges
🧯 If You Can't Patch
- Immediately disable the FTP service and use alternative secure file transfer methods
- Implement strict network segmentation with firewall rules to isolate the FTP server from critical systems
🔍 How to Verify
Check if Vulnerable:
Check EasyFTP Server version in application interface or registry: HKEY_LOCAL_MACHINE\SOFTWARE\EasyFTP Server\Version
Check Version:
reg query "HKLM\SOFTWARE\EasyFTP Server" /v Version
Verify Fix Applied:
Confirm version is 1.7.0.12 or higher, or product name has changed to UplusFtp
📡 Detection & Monitoring
Log Indicators:
- Unusually long CWD commands in FTP logs
- Multiple failed CWD attempts with long strings
- Anonymous user executing CWD with suspicious parameters
Network Indicators:
- FTP traffic with abnormally long CWD commands (> 2000 bytes)
- Multiple CWD commands from single source in short time
SIEM Query:
source="ftp.log" AND (command="CWD" AND length(message) > 2000) OR (user="anonymous" AND command="CWD")
🔗 References
- https://paulmakowski.wordpress.com/2010/02/28/increasing-payload-size-w-return-address-overwrite/
- https://raw.githubusercontent.com/rapid7/metasploit-framework/master/modules/exploits/windows/ftp/easyftp_cwd_fixret.rb
- https://seclists.org/bugtraq/2010/Feb/202
- https://www.exploit-db.com/exploits/11668
- https://www.exploit-db.com/exploits/12312
- https://www.exploit-db.com/exploits/14402
- https://www.exploit-db.com/exploits/16737
- https://www.vulncheck.com/advisories/easyftp-server-cwd-command-stack-buffer-overflow
- https://raw.githubusercontent.com/rapid7/metasploit-framework/master/modules/exploits/windows/ftp/easyftp_cwd_fixret.rb
- https://seclists.org/bugtraq/2010/Feb/202
- https://www.exploit-db.com/exploits/11668
- https://www.exploit-db.com/exploits/12312
- https://www.exploit-db.com/exploits/14402
- https://www.exploit-db.com/exploits/16737