受影响系统:
Microsoft Excel 2003 SP3
Microsoft Excel 2002 SP3
Microsoft Office 2008 for Mac
Microsoft Office 2004 for Mac
描述:
BUGTRAQ ID: 42199
CVE ID: CVE-2010-2562
Excel是微软Office套件中的电子表格工具。
Excel解析设置有特制PivotTable缓存数据记录(偏移C6h)的.XLS文件时存在栈溢出漏洞。如果cfdbTot成员的值等于0就可以触发这个漏洞。以下是有漏洞代码的反汇编:
/—–
30013CD4 . 0FB707 MOVZX EAX,WORD PTR DS:[EDI] ;invalid pointer **
30013CD7 . 56 PUSH ESI
30013CD8 . 8D3400 LEA ESI,DWORD PTR DS:[EAX+EAX] ;size =
content*2
30013CDB . F7C6 00000080 TEST ESI,80000000
30013CE1 . 0F85 2D642300 JNZ EXCEL.3024A114
30013CE7 > 83C7 02 ADD EDI,2
30013CEA . 56 PUSH ESI ;size
30013CEB . 57 PUSH EDI ;src
30013CEC . 8B7C24 14 MOV EDI,DWORD PTR SS:[ESP+14] ;stack buffer
30013CF0 . 57 PUSH EDI ;dst
30013CF1 . E8 8228FFFF CALL EXCEL.30006578 ;copy to
stack
EAX 0013F288
ECX 00000000
EDX 00012BB8
EBX 0000110A
ESP 0013F06C
EBP 0013F590
ESI 00003000
EDI 08E06938 **
– —–/
通过在30013CD4分配无效指针所引用的地址,就可以控制在30013CEB所PUSH的src指针的内容及在30013CEA所PUSH的拷贝字节数,当30013CF1的拷贝操作溢出栈上目标缓冲区后就可以执行任意代码。
<*来源:Damian Frizza
链接:http://secunia.com/advisories/40750/
http://marc.info/?l=bugtraq&m=128152424023120&w=2
http://www.microsoft.com/technet/security/bulletin/MS10-057.mspx?pf=true
http://www.us-cert.gov/cas/techalerts/TA10-222A.html
*>
建议:
临时解决方法:
* 使用Microsoft Office文件阻断策略以防止打开未知或不可信任来源的Office 2003及更早版本的文档。
* 当打开来自未知来源或不可信来源的文件时使用Microsoft Office隔离转换环境(MOICE)。
* 不要打开从不可信任来源接收到或从可信任来源意外接收到的Microsoft Office文件。
厂商补丁:
Microsoft
———
Microsoft已经为此发布了一个安全公告(MS10-057)以及相应补丁:
MS10-057:Vulnerability in Microsoft Office Excel Could Allow Remote Code Execution (2269707)
链接:http://www.microsoft.com/technet/security/bulletin/MS10-057.mspx?pf=true
0 条评论。