发新话题
打印

[转载]Microsoft Office Excel 缓冲区溢出漏洞

[转载]Microsoft Office Excel 缓冲区溢出漏洞

来    源:安全焦点
作    者:root (webmaster_at_xfocus.org)

[xfocus-SD-060314]Microsoft Office Excel 缓冲区溢出漏洞

发布日期:2006-03-15

受影响的软件及系统:
====================
Microsoft Office Excel 2000
Microsoft Office Excel XP
Microsoft Office Excel 2003

CVE: CVE-2006-0031

综述:
======

Microsoft Excel是Office产品套件中的电子表格和分析程序。

XFOCUS安全小组发现Excel在处理特定".xls"文件时存在一个缓冲区溢出漏洞,这将导致Excel进程崩溃甚至执行任意代码。

分析:
======

Excel在打开".xls"文件时会将一个缓冲区初始化为0x0e0e0e0e,这时Excel错误的使用了初始化的长度,导致一个基于栈的缓冲区溢出。

以下代码来自excel v9.0.0.8924

>
> .text:3003FE0C            movzx  eax, word ptr [ebx]
> .text:3003FE0F            xor    ecx, ecx
> .text:3003FE11            cmp    eax, 0Eh
> .text:3003FE14            mov    [ebp+var_8], ecx
> .text:3003FE17            jg    loc_301C01B5
>
> .text:301C01B5            mov    byte ptr [ebp+ecx+var_138], cl
> .text:301C01BC            inc    ecx
> .text:301C01BD            cmp    ecx, 0Eh
> .text:301C01C0            jle    short loc_301C01B5
> .text:301C01C2            cmp    ecx, eax
> .text:301C01C4            mov    [ebp-8], ecx
> .text:301C01C7            jg    loc_3003FFC9
> .text:301C01CD            sub    eax, ecx
> .text:301C01CF            lea    edi, [ebp+ecx+var_138]
> .text:301C01D6            inc    eax
> .text:301C01D7            mov    edx, eax
> .text:301C01D9            mov    eax, 0E0E0E0Eh
> .text:301C01DE            mov    ecx, edx
> .text:301C01E0            mov    esi, ecx
> .text:301C01E2            shr    ecx, 2
> .text:301C01E5            rep stosd  <== buffer overflow


厂商状态:
==========
2005.12.27  通知厂商
2006.01.03  厂商证实漏洞存在
2006.03.14  厂商发布新版本修复漏洞


厂商已经发布了补丁来修复这个漏洞,请在下列地址下载最新版本:
http://www.microsoft.com/technet/security/Bulletin/MS06-012.mspx
[url=http://www.amxku.net]amxku.net[/url]

TOP

发新话题