vuln.sg  .cNArcWj4 {  vertical-align:top; cursor: pointe...

vuln.sg Vulnerability Research Advisory

AceFTP FTP-Client Directory Traversal Vulnerability

by Tan Chew Keong
Release Date: 2008-06-27

.cNArcWj4 {  vertical-align:top; cursor: pointe...   [en] [jp]

.cNArcWj4 {  vertical-align:top; cursor: pointe... Summary

A vulnerability has been found within the FTP client in AceFTP. When exploited, this vulnerability allows an anonymous attacker to write files to arbitrary locations on a Windows user's system.


.cNArcWj4 {  vertical-align:top; cursor: pointe... Tested Versions


.cNArcWj4 {  vertical-align:top; cursor: pointe... Details

This advisory discloses a vulnerability within the FTP client in AceFTP. When exploited, this vulnerability allows an anonymous attacker to write files to arbitrary locations on a Windows user's system.

The FTP client does not properly sanitise filenames containing directory traversal sequences (forward-slash) that are received from an FTP server in response to the LIST command.

An example of such a response from a malicious FTP server is shown below.


Response to LIST (forward-slash):

-rw-r--r--    1 ftp      ftp            20 Mar 01 05:37 /../../../../../../../../../testfile.txt\r\n
 

By tricking a user to download a directory from a malicious FTP server that contains files with fowward-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 Windows Startup folder and execute arbitrary code when the user logs on.


.cNArcWj4 {  vertical-align:top; cursor: pointe... POC / Test Code

Please download the POC here and follow the instructions below.

.cnarcwj4 { Vertical-align:top; Cursor: Pointe... -

The code snippet you provided, .cNArcWj4 { vertical-align:top; cursor: pointer; } , looks like a CSS class—likely an auto-generated one from a modern web framework. To a developer, these random strings of characters feel like digital DNA.

Because of its cursor: pointer property, it gave the user a promise: “If you hover over me, I will change into a hand. I am interactive. I am here to help.” The user hovered. The cursor changed. The user clicked. .cNArcWj4 { vertical-align:top; cursor: pointe...

Suddenly, it had a body. It was assigned to a small, golden "Help" icon in the corner of a checkout page. The code snippet you provided,

Here is a short story about the life of that specific line of code. The Resident of Line 402 The code snippet you provided


.cNArcWj4 {  vertical-align:top; cursor: pointe... Patch / Workaround

Avoid downloading files/directories from untrusted FTP servers.


.cNArcWj4 {  vertical-align:top; cursor: pointe... Disclosure Timeline

2008-06-15 - Vulnerability Discovered.
2008-06-16 - Vulnerability Details Sent to Vendor via online support form (no reply).
2008-06-18 - Vulnerability Details Sent to Vendor again via online support form (no reply).
2008-06-25 - Vulnerability Details Sent to Vendor again via online support form (no reply).
2008-06-27 - Public Release.


Contact
For further enquries, comments, suggestions or bug reports, simply email them to