Original Release Date: 2011-09-20 | Last Revised: 2011-09-20
AmmSoft's ScriptFTP client is susceptible to a remote buffer overflow vulnerability that is triggered when processing a sufficiently long filename during a FTP LIST command.
AmmSoft's ScriptFTP client can be exploited to execute arbitrary code when processing GETLIST or GETFILE FTP commands. More details can be found at the reporter's blog: Digital Echidna
An attacker can setup a malicious FTP server that will exploit the vulnerability to cause a denial-of-service crash or may execute arbitrary code on the client's computer with the permissions of the ScriptFTP client user.
We are currently unaware of a practical solution to this problem.
Do not connect to untrusted FTP servers.
Use the Microsoft Enhanced Mitigation Experience Toolkit
The Microsoft Enhanced Mitigation Experience Toolkit (EMET) can be used to help prevent exploitation of this vulnerability. The EAF mitigation technique that is a part of EMET is not compatible with ScriptFTP and should be unchecked before using EMET with ScriptFTP.
Enable DEP in Microsoft Windows
Consider enabling Data Execution Prevention (DEP) in supported versions of Windows. DEP should not be treated as a complete workaround, but it can mitigate the execution of attacker-supplied code in some cases. Microsoft has published detailed technical information about DEP in Security Research & Defense blog posts "Understanding DEP as a mitigation technology" part 1 and part 2. DEP should be used in conjunction with the application of patches or other mitigations described in this document.
Note that when relying on DEP for exploit mitigation, it is important to use a system that supports Address Space Layout Randomization (ASLR) as well. ASLR is not supported by Windows XP or Windows Server 2003 or earlier. ASLR was introduced with Microsoft Windows Vista and Windows Server 2008. Please see the Microsoft SRD blog entry: On the effectiveness of DEP and ASLR for more details.