安全研究

安全漏洞
CA License Client/Server GCR校验和缓冲区溢出漏洞

发布日期:2005-03-02
更新日期:2005-03-03

受影响系统:
Computer Associates License Server 0.1.0.15
Computer Associates License Client 0.1.0.15
描述:
CVE(CAN) ID: CVE-2005-0581

Computer Associates License Client/Server应用程序允许CA产品在网络上注册其许可证。大多数CA软件发布中都捆绑了License Client和Server。

License Client/Server实现上在处理GCR请求中的数据时没有做充分的缓冲区边界检测,远程攻击者可能利用畸形的GCR请求进行缓冲区溢出攻击,从而在服务器上执行任意指令。

漏洞起因是对GCR请求中用户所提供值不充分的边界检查。GCR请求报文格式如下:

A0 GCR HOSTNAME<DEVBOX>HARDWARE<001122334455>LOCALE<English>
IDENT1<unknown>IDENT2<unknown>IDENT3<unknown>IDENT4<unknown>
OS<Windows_NT 5.0>OLFFILE<0 0 0>SERVER<RMT>VERSION<3 1.54.0>
NETWORK<127.0.0.1 HOSTNAME 255.255.255.0>MACHINE<PC_1586_1_3201>
CHECKSUMS<1 2 3 4 5 6 7 8 9 10 11 12>RMTV<1.00><EOM>

如果Checksums的第2,第5,第8或第11个字段中包含有特别大的字符串,就会发生栈溢出。调用sscanf()的格式说明符是:

"%x %s %i %x %s %i %x %s %i %x %s %i"

如果攻击者使用第11个字段溢出本地的栈缓冲区的话,就会用64字节的地址覆盖返回地址。

CA License Client在SEH覆盖后的Ollydbg输出如下:

EAX 00630510
ECX 7C91056D ntdll.7C91056D
EDX 003B0000
EBX 00D4E053 ASCII "GCR"
ESP 0082FC10 ASCII "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
EBP 00D4E050 ASCII "A0"
ESI 0082FCBC ASCII "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
EDI 00D4E057 ASCII "HOSTNAME<DEVBOX>HARDWARE<0011
EIP DEADC0DE

Log data, item 0
Address=DEADC0DE
Message=Access violation when executing [DEADC0DE]

<*来源:iDEFENSE Security Advisory (labs@idefense.com
        Williams, James K (james.williams@ca.com
        eEye (info@eEye.com
  
  链接:http://supportconnectw.ca.com/public/ca_common_docs/security_notice.asp
        http://marc.theaimsgroup.com/?l=bugtraq&m=110979326828704&w=2
        http://www.eeye.com/html/research/advisories/AD20050302.html
        www.idefense.com/application/poi/display?id=215
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 使用防火墙,仅允许可信任的主机连接到Computer Associates License Server和Client端口上。

厂商补丁:

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

http://supportconnectw.ca.com/public/reglic/downloads/licensepatch.asp#alp

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