安全研究

安全漏洞
Microsoft Visual Basic for Applications文本解析栈溢出漏洞(MS10-031)

发布日期:2010-05-11
更新日期:2010-05-12

受影响系统:
Microsoft Office XP SP3
Microsoft Office 2007 SP2
Microsoft Office 2007 SP1
Microsoft Office 2003 Service Pack 3
Microsoft Visual Basic for Applications SDK 6.0
描述:
BUGTRAQ  ID: 39931
CVE ID: CVE-2010-0815

Microsoft Visual Basic for Applications(VBA)是用于开发客户端桌面所包装的应用程序并集成到现有数据和系统的开发技术。

在搜索支持VBA的文档(如Office文档)中的ActiveX控件时VBA所使用的VBE6.dll库中的文本解析代码存在单字节栈溢出漏洞。如果主机应用程序打开一个特制文件并将其传递到VBA运行时,就会将缓冲区外的值为0x2E的单个字节转换为0x00。成功利用此漏洞的攻击者便可完全控制受影响的系统。

<*来源:Nsfocus安全小组 (security@nsfocus.com
  
  链接:http://secunia.com/advisories/39663/
        http://blogs.technet.com/srd/archive/2010/05/11/ms10-031-vbe6-single-byte-stack-overwrite.aspx
        http://www.microsoft.com/technet/security/bulletin/MS10-031.mspx?pf=true
        http://www.us-cert.gov/cas/techalerts/TA10-131A.html
*>

建议:
临时解决方法:

* 禁用2007 Microsoft Office System中的ActiveX控件。
* 限制对VBE6.dll的访问。
    
对于Microsoft Windows 2000、WindowsXP和Windows Server 2003,在命令提示符后面输入以下命令:

cacls "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll" /E /P everyone:N

对于Windows Vista、Windows Server 2008、Windows 7和Windows Server 2008 R2,在提升的命令提示符后面输入以下命令:

takeown /f "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll"
icacls "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll" /save %TEMP%\VBE6 _ACL.TXT
icacls "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll" /deny everyone:(F)

* 当打开来自未知来源或不可信来源的文件时使用Microsoft Office隔离转换环境(MOICE)。

厂商补丁:

Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS10-031)以及相应补丁:
MS10-031:Vulnerability in Microsoft Visual Basic for Applications Could Allow Remote Code Execution (978213)
链接:http://www.microsoft.com/technet/security/bulletin/MS10-031.mspx?pf=true

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