By tricking a user to download a directory from a malicious FTP server that contains files with backslash or forward-slash directory traversal sequences in their filenames, it is possible for the attacker to write files to arbitrary locations on a user's system with privileges of that user. An attacker can potentially leverage this issue to write files into a user's Startup folder and execute arbitrary code when the user logs on.

Go to the command prompt and run ClassicFTPPOC.exe or ClassicFTPPOC-forward.exe on a system. It will listen on FTP Port 21.

Ensure that Classic FTP is configured to use Passive mode.

Use Classic FTP to connect to the POC FTP server. You can use any username/password.

You'll see a directory named /testdir on the POC FTP server (see below).

If you traverse into that directory you'll see a file (testfile.txt) with directory traversal characters in its filename (see below).

Now, if you attempt to download the /testdir directory into C:\aaaa\bbbb\cccc\etc, you'll notice that testfile.txt will be written into C:\ instead of into C:\aaaa\bbbb\cccc\etc\testdir\testfile.txt.

Hence, by tricking a user to download a directory from a malicious FTP server, an attacker can potentially leverage this issue to write files into a user's Startup folder and execute arbitrary code when the user logs on.

Patch / Workaround

Update to version 1.11, which fixes this vulnerability. See vendor's release notes.

Disclosure Timeline

2008-06-02 - Vulnerability Discovered.
2008-06-02 - Vulnerability details sent to vendor via online form (no reply).
2008-06-07 - Vulnerability details sent to vendor again via online form (no reply).
2008-06-10 - Received reply from vendor that developers have been informed, but no ETA yet.
2008-06-12 - Vendor reminder sent (no reply).
2008-06-18 - Vendor reminder sent.
2008-06-19 - Received reply that the release date of the fixed version is still unknown.
2008-06-20 - Public Release.
2008-12-12 - Received notification from vendor that vulnerability was fixed in version 1.11. Updated advisory.