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/