安全研究

安全漏洞
雅虎通ywcvwr.dll远程堆溢出漏洞

发布日期:2007-08-15
更新日期:2007-08-21

受影响系统:
Yahoo! Messenger 8.1.0.413
描述:
BUGTRAQ  ID: 25330
CVE(CAN) ID: CVE-2007-4391

雅虎通是一款非常流行的即时通讯工具。

雅虎通在处理畸形功能请求时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制用户系统。

雅虎通中有个名为webcam的功能。当webcam请求初始化的时候雅虎通会生成一个类(webcamclass),webcamclass会在这个地方(ywcvwr.dll)申请一段内存,这段内存的长度是0x400:

.text:10001737                 cmp     edi, [esp+0Ch+arg_0]
.text:1000173B                 jl      short loc_10001735
.text:1000173D                 cmp     edi, 1400000h
.text:10001743                 jg      short loc_10001752
.text:10001745                 push    edi
.text:10001746                 call    j_??2@YAPAXI@Z  ; operator new(uint)
.text:1000174B                 mov     ebx, eax
.text:1000174D                 test    ebx, ebx

这段内存的用处是存放从jpc解压出来的bitmap的内容,但使用用户数据包内提供的数据来作为边界判断条件:

.text:10002C5C                 mov     [eax+2], cl  ; eax是前面这个长度为0x400的buffer
……………………….
.text:10002CA9                 mov     [eax], cl
.text:10002CAB                 mov     ecx, [ebp+var_4]
.text:10002CAE                 add     eax, [edi+5Ch]
.text:10002CB1                 inc     esi
.text:10002CB2                 inc     esi
.text:10002CB3                 cmp     ecx, [edi+64h] ;bug is here
.text:10002CB6                 jl      short loc_10002C38

[edi+64h]的内容是用户提供的pic length,只要合理的构造这个值及其它相关的值,就可以成功地实现堆溢出。

<*来源:team509
  
  链接:https://www.xfocus.net/bbs/index.php?act=ST&f=2&t=64639&page=1#entry321749
        http://secunia.com/advisories/26501/
        http://www.kb.cert.org/vuls/id/515968
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://www.team509.com/expyahoo.rar

建议:
临时解决方法:

* 限制对5100/tcp端口的访问
* 不要接受任何视频聊天请求

厂商补丁:

Yahoo!
------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://messenger.yahoo.com/

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