安全公告

Microsoft安全公告 MS03-030 - 严重

DirectX 中未选中的缓冲区可能会启用系统泄露(819696)

发布时间: 2003 年 7 月 23 日 |更新时间:2004 年 6 月 16 日

版本: 2.2

最初发布: 2003 年 7 月 23 日
更新时间: 2004 年 6 月 16 日

总结

谁应阅读此公告: 使用 Microsoft® Windows® 的客户

漏洞的影响: 允许攻击者对用户的系统执行代码

最大严重性分级: 严重

建议: 客户应立即应用安全修补程序

受影响的软件:

  • 在 Windows 98 上Microsoft DirectX® 5.2
  • 在 Windows 98 SE 上Microsoft DirectX 6.1
  • Windows Millennium Edition 上的 Microsoft DirectX 7.1
  • 在 Windows 2000 上Microsoft DirectX 7.0
  • 在 Windows 98、Windows 98 SE、Windows Millennium Edition 或 Windows 2000 上安装时,Microsoft DirectX 8.0、8.1、8.1a 和 8.1b
  • 在 Windows XP 或 Windows Server 2003 上Microsoft DirectX 8.1
  • 在 Windows 98、Windows 98 SE、Windows Millennium Edition(Windows Me)、Windows 2000、Windows XP 或 Windows Server 2003 上安装时,Microsoft DirectX 9.0a
  • Microsoft安装了 Windows 媒体播放器 6.4 或 Internet Explorer 6 Service Pack 1 的 Windows NT 4.0
  • Microsoft安装了 Windows 媒体播放器 6.4 或 Internet Explorer 6 Service Pack 1 的终端服务器版本Microsoft

公告的最终用户版本可在以下位置获取: https:

常规信息

技术详细信息

技术说明:

在发布此公告的原始版本之后,客户要求我们支持原始修补程序未涵盖的其他 DirectX 版本。 此公告已更新,以提供有关新修补程序的信息,该修补程序适用于使用 Windows 98、Windows 98 SE、Windows Millennium Edition 或 Windows 2000 的客户,他们已升级到 Microsoft DirectX 8.0、8.0a、8.1a、8.1a 或 8.1b。

DirectX 由 Windows 程序用于多媒体支持的一组低级别应用程序编程接口(API)组成。 在 DirectX 中,DirectShow 技术执行客户端音频和视频溯源、操作和呈现。

DirectShow 用于检查乐器数字接口 (MIDI) 文件中的参数的函数中存在两个缓冲区溢出,其效果相同。 安全漏洞会导致安全漏洞,因为恶意用户可能尝试利用这些缺陷,并在登录用户的安全上下文中执行代码。

攻击者可以通过创建专门制作的 MIDI 文件来利用此漏洞来利用此漏洞,然后将其托管在网站或网络共享上,或使用基于 HTML 的电子邮件发送它。 如果文件托管在网站或网络共享上,则用户需要打开专门制作的文件。 如果该文件嵌入在页面中,则当用户访问网页时,可能会利用漏洞。 在基于 HTML 的电子邮件案例中,当用户打开或预览基于 HTML 的电子邮件时,可能会利用漏洞。 成功的攻击可能导致 DirectShow 或应用程序使用 DirectShow 失败。 成功的攻击还可能导致攻击者的代码在用户的安全上下文中的用户计算机上运行。

缓解因素:

  • 默认情况下,Windows Server 2003 上的 Internet Explorer 在增强的安全配置运行。 此 Internet Explorer 的默认配置会阻止此攻击的基于电子邮件的矢量,因为默认情况下,Microsoft在 Windows Server 2003 上运行的 Outlook Express 以纯文本形式读取电子邮件。 如果 Internet Explorer 增强的安全配置被禁用,则会删除防止利用此漏洞的保护。
  • 在基于 Web 的攻击方案中,攻击者必须托管包含用于利用这些漏洞的网页的网站。 攻击者无法强制用户访问基于 HTML 的电子邮件矢量之外的恶意网站。 相反,攻击者需要吸引他们,通常是通过让他们单击一个链接,将他们带到攻击者的网站。
  • 上述组合意味着,在 Windows Server 2003 上,管理员仅浏览到受信任的站点应该能够安全抵御此漏洞。
  • 在系统上执行的代码只会在已登录用户的特权下运行。

严重性分级:

Microsoft DirectX 9.0a 严重
在 Windows Server 2003 上安装时,Microsoft DirectX 9.0a 重要
Microsoft DirectX 8.0、8.0a、8.1、8.1a 和 8.1b,Windows Server 2003 上除 DirectX 8.1 之外的所有版本 严重
在 Windows Server 2003 上Microsoft DirectX 8.1 重要
Windows Millennium Edition 上的 Microsoft DirectX 7.1 严重
在 Windows 2000 上Microsoft DirectX 7.0 严重
在 Windows NT 4.0 上安装时,Microsoft Windows 媒体播放器 6.4 或 Internet Explorer 6 Service Pack 1 严重
在 Windows NT 4.0 终端服务器版本上安装时,Microsoft Windows 媒体播放器 6.4 或 Internet Explorer 6 Service Pack 1 严重

上述 评估 基于受漏洞影响的系统类型、其典型部署模式以及利用漏洞对它们的影响。

漏洞标识符:CAN-2003-0346

测试的版本:

Microsoft Microsoft DirectX 9.0a 测试,Microsoft DirectX 8.1, Microsoft DirectX 7.0、Microsoft Windows Millennium Edition 上的 DirectX 7.0a、Windows 98 SE 上的 DirectX 6.1、Windows 98 SE 上的 DirectX 5.2、Microsoft Windows NT 4.0、安装了 Windows 媒体播放器 6.4 和 Internet Explorer 6 Service Pack 1 的 DirectX 6.1、Microsoft Windows NT 4.0、终端服务器版本以及 Windows 媒体播放器已安装 6.4 和 Internet Explorer 6 Service Pack 1,以评估它们是否受此漏洞影响。 以前的版本不再受支持,可能或可能不会受到此漏洞的影响

常见问题解答

Microsoft为其他 DirectX 版本发布了新的修补程序。 为什么?
在发布此公告的原始版本之后,客户要求我们支持原始修补程序未涵盖的其他 DirectX 版本。 Microsoft更新了公告,以提供这些附加版本的详细信息,这些版本已在此公告的“受影响的产品”部分列出,并包括下载位置(此公告的“修补程序可用性”部分列出)。

我已经安装了原始修补程序。 是否需要安装新修补程序?
否 - 原始修补程序在删除安全漏洞方面仍然有效。 新修补程序添加了对 DirectX 的其他版本的支持,并且不会更改原始修补程序。

此漏洞的范围是什么?
这是 缓冲区溢出 漏洞。 成功利用漏洞的攻击者可能会在用户系统上运行其选择的代码。 攻击者的代码将运行与用户相同的权限:对用户更改系统的能力的任何限制都将应用于攻击者的代码。 例如,如果用户被阻止删除硬盘上的文件,则同样会阻止攻击者的代码。 相反,如果用户使用特权较高的帐户(例如管理员帐户),攻击者的代码也会使用相同的高特权运行。 该漏洞存在于负责分析 MIDI 文件的组件中。 此函数包含在 DirectX 的组件中,称为 DirectShow。

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

什么是 DirectShow?
DirectX 中包含的 DirectShow 技术执行客户端音频和视频溯源、操作和呈现。 除了受影响的 MIDI 文件类型外,它还支持多种常见的媒体格式,包括高级系统格式(ASF)、电影专家组(MPEG)、音频视频交错(AVI)、MPEG 音频层-3(MP3)和 WAV 声音文件。

什么是 MIDI 文件?
MIDI 文件是一种特殊类型的媒体文件,它概述了音乐的生成方式(例如,在数字合成器上),而不是像其他媒体文件那样直接表示音乐声音。 这使得 MIDI 文件比其他音频文件小得多。

其他媒体文件格式是否受此漏洞影响?
否。 仅当分析特制的 MIDI 文件时,该漏洞才会产生。 其他媒体文件(如 MPEG、MP3、WMV 和 AVI 文件)不受此漏洞影响。

DirectShow 有什么问题?
DirectShow 用于检查 MIDI 中的参数的函数中有两个缓冲区溢出,其效果相同。MID) 文件。 由于恶意用户可能尝试利用此缺陷在登录用户的安全上下文中执行代码,因此存在安全漏洞。

如果 Windows 媒体和其他技术使用 MIDI 文件,这是否意味着Windows 媒体播放器存在问题?
不 - 缺陷不在Windows 媒体播放器。 DirectShow 中存在缺陷,以及检查 MIDI 文件参数的方式。 但是,对于 Windows NT 4.0,此技术在 Windows 媒体播放器 6.4 或 Internet Explorer 6 Service Pack 1 中提供。

攻击者如何利用此漏洞?
攻击者可以通过创建特制的 MIDI 文件,然后对其执行多项操作之一来尝试利用此漏洞:

  • 在网站或网络共享上托管文件。 在这种情况下,如果用户单击链接或文件,可能会利用漏洞。
  • 如果用户要访问具有嵌入式 MIDI 文件的网站,这可能会导致漏洞被利用。
  • 创建一封基于 HTML 的电子邮件,其中包含指向网页或包含该文件的共享的链接。 如果用户在预览窗格中查看了该消息或打开了该消息,则可能会利用漏洞。 此外,攻击者还可以创建一封电子邮件,其中包含指向网页或包含文件的共享的链接,以及用户单击链接的建议。
  • 最后,攻击者可以使用电子邮件发送格式不正确的 MIDI 文件。 攻击者可以将该文件附加到电子邮件,并将其发送给用户,并建议用户将该文件保存到其系统上,然后播放该文件。

此漏洞使攻击者能够执行哪些操作?
在最坏的情况下,成功利用此漏洞可能会使攻击者能够在用户系统上运行其选择的代码。 由于 DirectX 在用户的上下文中运行,因此攻击者的代码也会作为用户运行。 用户删除、添加或修改数据或配置信息的能力的任何限制也将应用于攻击者的代码。

为什么仅当已安装 Windows 媒体播放器 6.4 或 Internet Explorer 6 Service Pack 1 时,Windows NT 4.0 才会受到攻击?
默认情况下,Windows NT 4.0 上未安装包含漏洞的文件。 但是,在 Windows NT 4.0 上安装 Windows 媒体播放器 6.4 或 Internet Explorer 6 Service Pack 1 时,会安装此文件。

我在 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 增强的安全配置”指南,可在以下位置找到: https://www.microsoft.com/download/details.aspx?FamilyID=d41b036c-e2e1-4960-99bb-9757f7e9e31b&DisplayLang;=en

是否有可能禁用 Internet Explorer 增强的安全配置的任何 Windows Server 2003 配置?
是的。 已将 Windows Server 2003 部署为终端服务器的系统管理员可能会禁用 Internet Explorer 增强的安全配置,以允许用户在不受限制的模式下使用 Internet Explorer。

如何实现知道已安装了哪个版本的 DirectX?
若要检查系统上安装的 DirectX 版本,需要运行Dxdiag.exe命令行实用工具。

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

我正在运行 Windows NT 4.0。 如何实现知道是否需要应用修补程序?
对于 Windows NT 4.0,如果存在以下密钥且等于 1,则应应用修补程序:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ActiveSetup\InstalledComponents\{22d6f312-b0f6-11d0-94ab-0080c74c7e95}\IsInstalled

修补程序的作用是什么?
修补程序通过确保 DirectX 在打开 MIDI 文件时正确验证参数来消除漏洞。

修补程序可用性

下载此修补程序的位置

有关此修补程序的其他信息

安装平台:

DirectX 9.0b 可以安装在正在运行的系统上:

  • Windows 98
  • Windows 98 SE
  • Windows Millennium Edition
  • Windows 2000 Service Pack 3
  • Windows XP Gold
  • Windows XP Service Pack 1
  • Windows Server 2003

DirectX 9.0a 的修补程序可以安装在正在运行的系统上:

  • Windows 98
  • Windows 98 SE
  • Windows Millennium Edition
  • Windows 2000 Service Pack 3
  • Windows XP Gold
  • Windows XP Service Pack 1
  • Windows Server 2003

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

可以在运行以下系统的系统上安装 Direct X8.0a、DirectX 8.1、DirectX 8.1a 和 DirectX 8.1b 的修补程序:

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

Windows NT 4.0 的修补程序可以安装在正在运行的系统上:

包含在将来的 Service Pack 中:

此问题的修补程序包含在 Windows 2000 Service Pack 4 中。

请注意 ,Windows 2000 Service Pack 4(版本为 6.1.9.728)中包含的Quartz.dll文件包含 MS03-030 的更新。 该文件与安全更新中包含的版本 6.1.9.729 相同。

此问题的修补程序将包含在以下 Service Pack 中:

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

需要重新启动:

可以卸载修补程序:

  • DirectX 9.0b:否
  • DirectX 9.0a 修补程序:否
  • Windows XP 或 Windows Server 2003 上的 DirectX 8.1 修补程序:是
  • Windows 98、Windows 98 SE、Windows Millennium Edition 或 Windows 2000 上的 DirectX 8.0、DirectX 8.1、DirectX 8.1a 和 DirectX 8.1b 修补程序:否
  • DirectX 7.1 修补程序:是
  • Windows NT 4.0 修补程序:是

取代的修补程序: 无。

验证修补程序安装:

  • Windows Server 2003:若要验证是否已在计算机上安装修补程序,请执行以下操作: 确认计算机上已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP1\KB819696 若要验证各个文件,请使用以下注册表项中提供的日期/时间和版本信息:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP1\KB819696\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 2:若要验证计算机上是否已安装修补程序,请确认计算机上已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB819696 若要验证各个文件,请使用以下注册表项中提供的日期/时间和版本信息: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB819696\Filelist

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

  • Windows NT 4.0 Service Pack 6a:若要验证是否已在计算机上安装修补程序,请确认计算机上已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q819696

  • Windows NT 4.0 Service Pack 6 终端服务器版本:若要验证计算机上是否已安装修补程序,请确认计算机上已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q819696

  • Windows Server 2003、Windows XP Gold、Windows XP Service Pack 1、Windows 2000 Service Pack 3、Windows Millennium Edition、Windows 98 或带有 DirectX 9.0a 的 Windows 98 Second Edition:若要验证计算机上是否已安装 DirectX 9.0a 修补程序,请确认是否已创建以下注册表项且值为 1: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\DirectX\dx819696\IsInstalled 若要验证各个文件,请使用以下注册表项中提供的版本信息:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\DirectX\dx819696\Filelist

  • Windows 2000 Service Pack 3、 通过 DirectX 8.0 到 DirectX 8.1b 的 Windows Millennium Edition、Windows 98 或 Windows 98 Second Edition:若要验证计算机上是否已安装 DirectX 8 修补程序,请确认是否已创建以下注册表项,并且值为 1:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\DirectX\dx819696\IsInstalled 以验证各个文件, 使用以下注册表项中提供的版本信息:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\DirectX\dx819696\Filelist

  • 对于所有 DirectX 9.0b 更新:

    若要验证是否已在计算机上安装修补程序,请确认计算机上已创建以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX\Version If 9.0b 实际安装,该值将为 4.09.00.0902。

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

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

注意:

本地化

此修补程序的本地化版本在“修补程序可用性”中讨论的位置可用。

获取其他安全修补程序:

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

其他信息:

确认

Microsoft 感谢eEye Digital Security 向我们报告此问题,并与我们合作来帮助保护客户

支持

  • Microsoft知识库文章 819696 讨论此问题,将在发布本公告大约 24 小时后提供。 可以在Microsoft联机支持网站上找到知识库文章。
  • Microsoft产品支持服务提供技术支持。 与安全修补程序关联的支持调用不收取任何费用。

安全资源:Microsoft TechNet 安全网站提供有关Microsoft产品安全性的其他信息。

免责声明

Microsoft知识库中提供的信息“按原样”提供,不提供任何形式的担保。 Microsoft明示或默示地否认所有担保,包括适销性和针对特定用途的适用性的保证。 在任何情况下,Microsoft公司或其供应商应承担任何损害,包括直接、间接、附带、后果性、业务利润损失或特殊损害,即使Microsoft公司或其供应商被告知存在此类损害的可能性。 某些州不允许排除或限制后果性或附带性损害的责任,因此上述限制可能不适用。

修改:

  • V1.0(2003 年 7 月 23 日):公告已创建。
  • V1.1(2003 年 7 月 23 日):修复了 Windows NT 4 的下载链接。
  • V1.2(2003 年 7 月 23 日):更新了修补程序可用性部分中的下载链接。
  • V2.0(2003 年 8 月 20 日):已更新,其中包含 DirectX 版本的其他修补程序的详细信息。
  • V2.1(2003 年 8 月 20 日):在“技术说明”部分添加了有关其他修补程序的澄清。
  • V2.2(2004 年 6 月 16 日):在“修补程序可用性”部分中添加了有关 Windows 2000 Service Pack 4 中的文件版本的说明。

构建于 2014-04-18T13:49:36Z-07:00</https:>