技术说明:
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的命令工具。
- 在屏幕底部的任务栏上,单击“开始”,然后单击“运行”。
- 在“运行”对话框中键入:dxdiag
- 单击“确定”。
- 在出现的对话框的“系统”选项卡上,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 的文件清单。
注意事项:无
本地化:此修补程序的本地化版本可从“获取修补程序的途径”中所述的位置获得。
获取其他安全修补程序:
从以下位置可获得针对其他安全问题的修补程序: