百度空间 | 百度首页 
 
查看文章
 
Yahoo! 助手(3721) ActiveX远程代码执行漏洞
2008-05-06 20:56
Yahoo! 助手(3721) ActiveX远程代码执行漏洞


发现者: Sowhat of Nevis Labs
日期: 2008.05.06

http://hi.baidu.com/secway/blog/item/d9b45dddf0603bdc8d1029a9.html
http://secway.org/advisory/AD20080506EN.txt
http://secway.org/advisory/AD20080506CN.txt

CVE:    N/A

厂商
Yahoo! CN

受影响版本:
Yahoo! Assistant<=3.6 (04/23/2008之前版本)


Overview:
Yahoo!助手(原3721网络助手),是一个IE下的BHO (Browser Helper Object).

Yahoo!助手有许多功能,例如IE设置修复,安全防护,删除浏览的历史信息,拦截广告,等等.
更多信息,请参考
http://cn.zs.yahoo.com/



细节:

漏洞存在于ynotifier.dll这个ActiveX控件.
成功利用此漏洞可以使得攻击者能够在安装了Yahoo!助手的电脑上执行任意代码.
成功利用此漏洞需要诱使用户访问特定网页.

在通过IE初始化Ynoifier COM对象时,会出现一个可利用的内存破坏漏洞.

(c78.fa0): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=00e85328 ebx=001ada20 ecx=4080624c edx=00128474 esi=020cb5f0 edi=00000000
eip=43f50743 esp=001283e0 ebp=00128478 iopl=0         nv up ei pl zr na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000             efl=00010246
43f50743 ??               ???


637a8b47 8b45f8           mov     eax,[ebp-0x8]
637a8b4a 8b08             mov     ecx,[eax]
637a8b4c 8d55fc           lea     edx,[ebp-0x4]
637a8b4f 52               push    edx
637a8b50 6a01             push    0x1
637a8b52 50               push    eax
637a8b53 ff5158           call    dword ptr [ecx+0x58] ; ds:0023:408062a4=43f50743

此处虚函数指向了一个无效的数据.

利用堆填充技术,攻击者可以通过利用此漏洞执行任意代码.


Proof of Concept:
只需要下面这行代码保存成HTML文件,即可触发漏洞
<object classid='clsid:2283BB66-A15D-4AC8-BA72-9C8C9F5A1691'>


Workaround:
对此ActiveX设置一个Killbit.



厂商回应:

2008.04.23 通过邮件通知厂商
2008.04.23 厂商回复,开发补丁
2008.04.23 补丁开发完毕,但厂商希望能够推迟公布细节,因为厂商需要时间推送补丁
2008.05.06 发布公告.(厂商没有发布任何公告)

类别:Vulnerability | 添加到搜藏 | 浏览() | 评论 (14)
 
最近读者:
 
网友评论:
1
2008-05-06 22:04 | 回复
顶。
 
2
2008-05-06 22:08 | 回复
看不懂 大家帮软件厂商修BUG 他们得给点儿奖励啊
 
3
2008-05-06 22:11 | 回复
顶牛牛~~~~~ 不过这个也算是远程漏洞????
 
4
2008-05-06 22:25 | 回复
回3楼: 我的理解,这是远程。 被攻击者访问一个远程的网页的时候触发。 不然怎么理解?本地?呵呵。
 
5
2008-05-06 23:17 | 回复
大牛 我刚刚测试了一下 到其他的下载站下的一个旧版本想看看到底怎么回事(追随大牛的足迹)不过就是第一次运行的时候报错,然后就正常了。最新的那个迅雷的漏洞作者都说监听127.0.0.1不算远程溢出,这种ACTIVEX的偶太菜真是不知道该怎么说。
 
6
2008-05-06 23:27 | 回复
1.这个跟你说的xunlei漏洞是两回事,呵呵. 那个监听127.0.0.1本地回路的,一般来说只能算本地的.除非你能想出办法来远程触发. 2. 我不知道你测试的哪个版本,我测试的时候,可以反复触发,呵呵.
 
7
2008-05-07 07:26 | 回复
没有测试,但是sowhat,我怀疑是IE的其它插件hook了某些函数而导致的crash,也就是说是几个插件相互作用的结果。在完全干净的IE中也会crash吗? 以前在VC2005中也碰到过这种情况。。。
 
8
2008-05-07 08:45 | 回复
LS的,我的就是纯净的IE啊。我没有装什么插件。并且IE是刚从6升到7的 问下:这个“利用堆填充技术,攻击者可以通过利用此漏洞执行任意代码.”是什么技术啊? 我测试了半天,发现前面的一些地址太低了,后面的也就只有43f50743好控制。难道要申请4G的内存才能利用?? 哪位牛牛给个小小的提示采用的什么办法??? 不然怎么才能控制EAX或者ECX的指针呢???那又是传的什么参数呢???
 
9
2008-05-07 08:56 | 回复
ls的,master sw说的堆填充技术貌似是heap spray技术吧,放g搜一下。 又一天同学,迅雷最近的那个漏洞的确只能算是本地,我昨天已经绞尽脑汁想远程触发他了,但试最后还是失败了。 activex可以通过ie触发,显然是远程的,这个就无需质疑了,口可口可。
 
10
2008-05-07 09:38 | 回复
晕,3721!
 
11
2008-05-07 10:33 | 回复
厂商相当不厚道,哈哈,不过指望3721厚道,好像也不现实。
 
12
2008-05-07 10:34 | 回复
我在干净的vm里测试的,Yahoo的开发人员也重现了,并且证实了这个虚调没有定义,指到这块数据. 另外,如果只是利用传统的javascript填充技术,大约需要512M以上物理内存. 不知道有没有别的什么java之类的填充方法,可以少点内存的?
 
13
2008-05-07 10:58 | 回复
小弟期待,稳定可行的利用方法,我VM的内存才256,看来是没得测试了
 
14
2008-05-07 14:49 | 回复
先偷走,再慢慢消化
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu