by Tan Chew Keong
Release Date: 2008-06-27
[en] [jp]
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.
Tested Versions
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.
POC / Test Code
Please download the POC here and follow the instructions below.
Determinable Unstable V020 Pilot Raykbys Extra Quality -
The v020 responded. The thrusters announced micro-corrections, not as violations but as compliments. The route the ship took changed in small, graceful arcs, finding currents of space-time that economized fuel in ways the designers’ models had never imagined. Variance became advantage. Determinable stopped being a cage and turned into a conversation.
The extra quality module pulsed once, almost like a wink. determinable unstable v020 pilot raykbys extra quality
Pilot Raykby had always believed the cockpit was the clearest place to judge a machine. For twenty-seven missions he’d trusted his gauges, his instincts, and the machine’s steady hum. When the designers at Vantage Systems unveiled the v020, they called it “determinable” — a neat industry word meaning every variable would announce itself, predictably. Raykby liked the label. Determinable meant no surprises. The v020 responded
Years later, when the v020 platform was a museum exhibit and Raykby had traded long-haul runs for teaching, a young cadet asked him, “Was it dangerous?” He looked at the chrome strip inset into the display and shrugged. “Uncertain,” he said. “Also extraordinary.” Variance became advantage
Raykby wondered what the extra quality wanted. He tried something brash: he allowed himself to stop wanting answers. He let the pattern fill the cockpit like music, and in doing so, he drifted into a different kind of navigation. Without the tyranny of exactitude, he noticed subtleties the instruments ignored: the way radiation clouds smelled like rust in his memory, the barely-there tug of a neglected moon’s gravity, the tiny eddies of warmth in the cargo hold where the cat that rode with him slept.
But that night, crossing a black ribbon of space known to pilots as the Weeping Mile — because of the way faint ion flares made instruments sing — the v020 did something different. The chrome strip flared not in the steady, informative way Raykby had learned to rely on, but as if someone had dragged a finger across it and smiled. The extra quality module began composing patterns: a rhythm of light that did not map to any diagnostic readout. The thrusters warmed, then cooled, in a tempo not accounted for in the stability models.
Raykby ran pre-flight checks with ritual precision. The readings hummed obediently. Determinable systems liked to be observed; they relaxed under attention. He felt a quiet satisfaction as the v020’s extra quality module idled, a faint luminescence on the chrome strip like a cat’s eye.
Patch / Workaround
Avoid downloading files/directories from untrusted FTP servers.
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.