Public Vulnerability Reports

Veritas Backup Exec Agent CONNECT_CLIENT_AUTH Buffer Overflow Vulnerability

06.23.05

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

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 FilesVERITASBackup ExecNTbeclass.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

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.

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.

WORKAROUND

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

VENDOR RESPONSE

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

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

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.

DISCLOSURE TIMELINE

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

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

LEGAL NOTICES

Copyright © 2005 Verisign, 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.