Microsoft 安全公告 MS03-030

DirectX 中未经检查的缓冲区可能危害系统安全 (819696)
初始发布日期2003 年 7 月 23 日

概要

本公告的目标读者使用 Microsoft® Windows® 的客户。
安全漏洞的影响:攻击者可以在用户系统上执行代码。
最高严重等级严重
建议客户应立即应用此修补程序。
受影响的软件

  • 安装在 Windows Server 2003 上的 Microsoft DirectX® 9.0a
  • 安装在 Windows XP 上的 Microsoft DirectX 9.0a
  • 安装在 Windows 2000 上的 Microsoft DirectX 9.0a
  • 安装在 Windows Millennium Edition (Windows ME) 上的 Microsoft DirectX 9.0a
  • 安装在 Windows 98 SE 上的 Microsoft DirectX 9.0a
  • 安装在 Windows 98 上的 Microsoft DirectX 9.0a
  • 安装在 Windows Server 2003 上的 Microsoft DirectX 8.1
  • 安装在 Windows XP 上的 Microsoft DirectX 8.1
  • 安装在 Windows 2000 上的 Microsoft DirectX 7.0
  • 安装在 Windows Millennium Edition (Windows ME) 上的 Microsoft DirectX 7.0a
  • 安装在 Windows 98 SE 上的 Microsoft DirectX 6.1
  • 安装在 Windows 98上的 Microsoft DirectX 5.2
  • 安装有 Windows Media Player 6.4 或 Internet Explorer 6 Service Pack 1 的Microsoft Windows NT4
  • 安装有 Windows Media Player 6.4 或 Internet Explorer 6 Service Pack 1 的Microsoft Windows NT4 Terminal Server Edition

详细技术资料

技术说明

DirectX 由一组低级应用程序编程接口 (API) 组成,Windows 程序使用这组接口获取多媒体支持。在 DirectX 内,DirectShow 技术执行客户端音频和视频的提供、处理及输出。

在 DirectShow 用来检查 MIDI (.MID) 文件参数的功能中存在两个具有相同效果的缓冲区溢出。这会造成安全漏洞,因为恶意用户可能会尝试利用这些缺陷在已登录的用户的安全上下文中执行代码。

攻击者通过以下方法利用此漏洞:精心创建一个 MIDI 文件,然后将此文件置于一个网站或网络共享位置,或通过一个 HTML 电子邮件发送此文件。如果此文件位于一个网站或网络共享位置,用户需要打开这个精心创建的文件。如果此文件是嵌入在一个网页中,那么在用户访问这个网页时,这个漏洞就会被利用。如果通过 HTML 电子邮件发送此文件,当用户打开或预览此 HTML 电子邮件时,这个漏洞就会被利用。成功的攻击可导致 DirectShow 或使用 DirectShow 的应用程序出现问题,或导致用户的计算机在用户的安全上下文中运行攻击者的代码。

减轻影响的因素:

  • 默认情况下,Windows Server 2003 上的 Internet Explorer 采用增强安全配置运行。Internet Explorer 的这种默认配置会阻止通过 Outlook Express 用电子邮件发起的这种攻击。如果 Internet Explorer 增强安全配置被禁用,那么用来防止此漏洞的保护机制将失去作用。
  • 在基于 Web 的攻击情形中,攻击者必须利用一个网站,在其中包含一个用以利用这些漏洞的网页。攻击者无法强迫用户访问独立于 HTML 电子邮件之外的恶意站点。因此,攻击者需要将用户引诱至该站点,通常的办法是让用户单击指向攻击者的站点的链接。
  • 在系统上执行的代码只能在已登录的用户的权限范围内运行。

严重等级

Microsoft DirectX 9.0a
严重
安装在 Windows Server 2003 上的 Microsoft DirectX 9.0a
重要
Microsoft DirectX 8.1
严重
安装在 Windows Server 2003 上的 Microsoft DirectX 8.1
重要
安装在 Windows Millennium Edition 上的 Microsoft DirectX 7.0a
严重
安装在 Windows 2000上的 Microsoft DirectX 7.0
严重
安装在Windows 98 SE 上的 Microsoft DirectX 6.1
严重
安装在Windows 98 上的 Microsoft DirectX 5.2
严重
安装在 Windows NT4 上的 Microsoft Windows Media Player 6.4 或 Internet Explorer 6 Service Pack 1
严重
安装在 Windows NT4 Terminal Server Edition 上的 Microsoft Windows Media Player 6.4 或 Internet Explorer 6 Service Pack 1
严重

以上评估是基于受漏洞影响的系统类型、典型的部署模式以及漏洞对它们产生的影响作出的。

漏洞标识符:CAN-2003-0346

已测试的版本

Microsoft 测试了安装在 Windows ME 上的 Microsoft DirectX 9.0a、Microsoft DirectX 8.1、Microsoft DirectX 7.0、Microsoft DirectX 7.0a,安装在 Windows 98 SE 上的 DirectX 6.1,安装在 Windows 98 上的 DirectX 5.2,安装了 Windows Media Player 6.4 和 Internet Explorer 6 Service Pack 1 的 Microsoft Windows NT4,以及安装了 Windows Media Player 6.4 和 Internet Explorer 6 Service Pack 1 的Microsoft Windows NT4 Terminal Server Edition,以便评估它们是否受此漏洞影响。

常见问题解答

此漏洞的影响范围有多大

这是一个缓冲区溢出漏洞。在最坏的情况下,成功利用此漏洞的攻击者可在用户的系统上运行他们选择的代码。
攻击者的代码运行时使用的特权与用户的特权相同:任何对用户更改系统的能力施加的限制,对攻击者的代码也同样有效。例如,如果禁止用户删除硬盘上的文件,那么也会禁止攻击者的代码执行这类操作。反过来,如果用户正在使用一个具有很高特权的帐户,如管理员的帐户,那么攻击者的代码也会以同样高的特权运行。
此漏洞存在于负责分析 MIDI 文件的组件中。此功能包含在 DirectX 中名为 DirectShow 的组件中。

什么是 DirectX?

Microsoft DirectX 是一个软件组件,它包含一组 API,这些 API 提供对图形加速芯片、声卡以及其他类型的媒体硬件的访问。这些 API 控制低级功能,包括图形加速,对输入设备(如游戏杆、键盘及鼠标)的支持,以及对混音及声音输出的控制。DirectShow 是 DirectX 所包含的诸多技术中的一种。

什么是 DirectShow?

DirectX 中包含的 DirectShow 技术执行客户端音频和视频的提供、处理及输出。除了支持受影响的 MIDI 文件类型之外,它还支持许多常见媒体格式,包括高级系统格式 (ASF)、运动图像专家组 (MPEG)、音频视频交错 (AVI)、MPEG Audio Layer-3 (MP3) 和 WAV 声音文件。

什么是 MIDI 文件

MIDI(Musical Instrument Digital Interface,乐器数字接口)文件是一种特殊类型的媒体文件。它记录音乐是如何产生的(例如在一个数字合成器上),而不像其他媒体文件那样直接播放音乐。这种方式可使 MIDI 文件远远小于其他音频文件。

其他媒体文件格式会受此漏洞影响吗

不会。只有分析精心创建的 MIDI 文件时才会产生此漏洞。其他媒体文件,如 MPEG、MP3、WMV 和 AVI 不会受此漏洞的影响。

DirectShow 存在什么问题

在 DirectShow 用来检查 MIDI (.MID) 文件参数的功能中存在两个具有相同效果的缓冲区溢出。这会造成安全漏洞,因为恶意用户可能会尝试利用这个缺陷在已登录的用户的安全上下文中执行代码。

如果 Windows Media 和其他技术使用了 MIDI 文件这是否意味着 Windows Media Player 存在问题呢

不存在。这个缺陷不存在于 Windows Media Player 中。这个缺陷只存在于 DirectShow 中,即它检查 MIDI 文件参数的方式存在缺陷。但是,在 Windows NT 4.0 中,Windows Media Player 6.4 或 Internet Explorer 6 Service Pack 1 附带了这项技术。

攻击者可能会如何利用此漏洞

要利用此漏洞,攻击者可以精心创建一个 MIDI 文件,然后对此文件执行以下操作之一:

  • 将此文件置于一个网站或网络共享位置。在这种情况下,如果用户点击此链接或文件,这个漏洞就会被利用。
  • 如果用户访问嵌有一个 MIDI 文件的网站,则可能会使此漏洞得以利用。
  • 创建一封 HTML 电子邮件,在其中带有一个指向包含此文件的网页或共享位置的链接。如果用户在预览窗格中查看此邮件,或打开此邮件,这个漏洞就会被利用。此外,攻击者还可以创建一封电子邮件,在其中带有一个指向包含此文件的网页或共享位置的链接,并在邮件中建议用户单击此链接。
  • 最后,攻击者还可以通过电子邮件发送一个恶意的 MIDI 文件。攻击者可将附带此文件的电子邮件发送给一个用户,同时在邮件中建议该用户将此文件保存在系统中并随后播放此文件。

攻击者可利用此漏洞做什么

在最坏的情况下,如果攻击者成功地利用了此漏洞,则可在用户的系统上运行他或她选择的代码。因为 DirectX 在用户上下文中运行,攻击者的代码也会以用户身份运行。对用户删除、添加或者修改数据或配置信息的能力的限制,对攻击者也同样有效。

为什么 Windows NT4 只在安装了 Windows Media Player 6.4 Internet Explorer 6 Service Pack 1 才易受攻击

包含此漏洞的文件不会默认安装在 Windows NT4 上。但是,如果安装了 Windows Media Player 6.4 或 Internet Explorer 6 Service Pack 1,就会在 Windows NT4 上安装该文件。

我当前在 Windows Server 2003 上运行Internet Explorer这是否会减轻这个漏洞的影响

是的。默认情况下,Windows Server 2003 上的 Internet Explorer 在一种称为“增强安全配置”的受限模式下运行。在这种配置下,Internet Explorer 会禁止通过 Outlook Express 不经用户交互即自动利用此漏洞。这是通过将 Outlook Express 默认设置为以纯文本形式阅读电子邮件而实现的。

什么是 Internet Explorer 增强安全配置

Internet Explorer 的增强安全配置是一组预先配置好的 Internet Explorer 设置,这组设置可减小用户或管理员在一台服务器上下载并运行恶意 Web 内容的可能性。Internet Explorer 增强安全配置通过修改许多与安全有关的设置(包括“Internet 选项”中的“安全”和“高级”选项卡设置)减轻了这一威胁。

如果禁用 Internet Explorer 增强安全配置,则其建立的旨在防止此漏洞的保护机制即被取消。有关 Internet Explorer 的增强安全配置的更多信息,请参阅《管理 Internet Explorer 增强安全配置指南》

Windows Server 2003 中有什么配置会禁用 Internet Explorer 增强安全配置吗

有。将 Windows Server 2003 作为终端服务器部署的系统管理员往往会禁用 Internet Explorer 增强安全配置,以允许终端服务器的用户不受限制地使用 Internet Explorer。

如何知道我安装的是 DirectX 的哪个版本

要检查您的系统上安装了 DirectX 的哪个版本,您需要运行一个叫做 dxdiag的命令工具。

  1. 在屏幕底部的任务栏上,单击“开始”,然后单击“运行”。
  2. 在“运行”对话框中键入:dxdiag
  3. 单击“确定”。
  4. 在出现的对话框的“系统”选项卡上,DirectX 的版本将显示在“系统信息”部分中。

我当前正在运行 Windows NT4。如何了解我是否需要应用此修补程序

对于 Windows NT 4.0,如果存在下面所述的情况,则需应用此修补程序:

  • 存在注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ActiveSetup\InstalledComponents\{22d6f312-b0f6-11d0-94ab-0080c74c7e95}\IsInstalled,并且值等于 1。

修补程序有什么用途

此修补程序可确保在打开 MIDI 文件时 DirectX 会正确地验证参数,从而消除此漏洞。

获取修补程序的途径

此修补程序的下载位置

有关该修补程序的附加信息

安装平台

DirectX 9.0b 可安装在运行以下操作系统的系统上:

DirectX 8.1 的修补程序可安装在运行以下操作系统的系统上:

DirectX 7.0 的修补程序可安装在运行以下操作系统的系统上:

Windows NT4 的修补程序可安装在运行以下操作系统的系统上:

包含在将来的哪些 Service Pack

此问题的修补程序已包含在 Windows 2000 Service Pack 4 中,
还将包含在以下的 Service Pack 中:

  • Windows 2000 Service Pack 2
  • Windows Server 2003 Service Pack 1

是否需要重新启动

修补程序是否能卸载

  • DirectX 9.0b:不能
  • DirectX 8.1 修补程序:能
  • DirectX 7.0a 修补程序:能
  • Windows NT4 修补程序:能

是否替代其他修补程序:否。

验证修补程序安装

  • Windows Server 2003:

    要验证计算机上是否已安装此修补程序,请确定此计算机上是否已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP1\Q819696

    要验证个别的文件,请使用以下注册表项提供的日期/时间及版本信息:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP1\ Q819696\Filelist
  • Windows XP Gold:

    要验证计算机上是否已安装此修补程序,请确认计算机中是否已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\Q819696

    要验证个别的文件,请使用以下注册表项中提供的日期/时间和版本信息:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\ Q819696\Filelist
  • Windows XP Service Pack 1:

    要验证计算机上是否已安装此修补程序,请确认计算机中是否已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\ Q819696

    要验证个别的文件,请使用以下注册表项中提供的日期/时间和版本信息:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\ Q819696\Filelist
  • Windows 2000 Service Pack 3:
    要验证计算机上是否已安装此修补程序,请确认计算机中是否已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q819696

    要验证个别的文件,请使用以下注册表项中提供的日期/时间和版本信息:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\ Q819696\Filelist
  • Windows NT4 SP6A:
    要验证计算机上是否已安装此修补程序,请确认计算机中是否已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q819696
  • Windows NT4 SP6 Terminal Server Edition:
    要验证计算机上是否已安装此修补程序,请确认计算机中是否已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q819696
  • 对于 DirectX 9.0b 的所有更新:
    要验证计算机上是否已安装此修补程序,请确认计算机中是否已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX\Version.
    如果实际上安装的是 9.0b,其值应当为 4.90.00.0902。

    要验证个别的文件,请使用 dxdiag.exe 命令行工具的“文件列表”选项卡。

    1. 在屏幕底部的任务栏上,单击“开始”,然后单击“运行”。
    2. 在“运行”对话框中键入:dxdiag
    3. 单击“确定”。
    4. 在出现的对话框中单击“DirectX 文件”选项卡,将显示 DirectX 的文件清单。

注意事项:

本地化此修补程序的本地化版本可从“获取修补程序的途径”中所述的位置获得。

获取其他安全修补程序

从以下位置可获得针对其他安全问题的修补程序:

  • 安全修补程序可从Microsoft Download Center(Microsoft 下载中心)获得,通过搜索关键字“security_patch”很容易找到。
  • 有关客户平台的修补程序可从 Microsoft Update 网站获得。

其他信息:

鸣谢Microsoft 感谢eEye Digital Security 向我们反映此问题并与我们一起致力于保护客户的利益。

支持

  • Microsoft 知识库文章 819696 讨论了此问题,此公告发布大约 24 小时后会提供该文章。知识库文章可以在Microsoft 在线支持网站上找到。
  • 技术支持可以从 Microsoft 产品支持服务获得。与安全修补程序相关的支持电话是免费的。

安全性资源:Microsoft TechNet Security网站提供了有关 Microsoft 产品安全性的更多信息。

免责声明:

Microsoft 知识库中的信息按“原样”提供,没有任何形式的保证。Microsoft 不作任何明示或暗示的担保,包括适销性和针对特定目的的适用性的担保。Microsoft Corporation 或其供应商不对任何损害(包括直接的、间接的、附带的或后果性的商业利润损失或特殊损害)承担任何责任,即使 Microsoft Corporation 或其供应商事先已被告知发生这类损害的可能性。一些州不允许排除或限制对后果性的或附带的损害所负的责任,因此上述限制可能不适用。

修订版本:

·V1.0(2003年7月16日):公告发布。