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(网友投票)