[xfocus-SD-060314]Microsoft Office Excel 缓冲区溢出漏洞创建时间:2006-03-15 文章属性:原创 文章提交: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 |