安全公告
Microsoft 安全公告 MS02-055 - 严重
Windows 帮助设施中的未检查缓冲区可以启用代码执行(Q323255)
发布时间: 2002 年 10 月 2 日 |更新时间:2003 年 2 月 28 日
版本: 1.1
最初发布: 2002 年 10 月 2 日
更新时间: 2003 年 2 月 28 日
总结
谁应阅读此公告: 使用 Microsoft® Windows 98、Windows® Me、Windows NT® 4.0、Windows 2000 或 Windows XP 的客户。
漏洞的影响: 攻击者可以控制用户的系统。
最大严重性分级: 严重
建议: 客户应立即安装修补程序。
受影响的软件:
- Microsoft Windows 98
- Microsoft Windows 98 Second Edition
- Microsoft Windows Millennium Edition
- Microsoft Windows NT 4.0
- Microsoft Windows NT 4.0 终端服务器版本
- Microsoft Windows 2000
- Microsoft Windows XP
常规信息
技术详细信息
技术说明:
Windows 中的 HTML 帮助工具包括一个 ActiveX 控件,可提供其大部分功能。 通过控件公开的其中一个函数包含未检查缓冲区,该缓冲区可由托管在攻击者网站或以 HTML 邮件形式发送给用户的网页利用。 成功利用漏洞的攻击者能够在用户的安全上下文中运行代码,从而获得与系统上用户相同的权限。
存在第二个漏洞,因为存在与处理包含快捷方式的已编译 HTML 帮助 (.chm) 文件相关的缺陷。 由于快捷方式允许 HTML 帮助文件对系统执行任何所需操作,因此应只允许受信任的 HTML 帮助文件使用它们。 两个缺陷允许绕过此限制。 首先,HTML 帮助工具错误地确定安全区域,以防网页或 HTML 邮件将 .chm 文件传递到临时 Internet 文件文件夹,然后打开它。 HTML 帮助工具不会处理正确区域中的 .chm 文件(与传递它的网页或 HTML 邮件相关联的文件),而是在本地计算机区域中错误地处理它,从而考虑它受信任并允许它使用快捷方式。 此错误因 HTML 帮助工具不考虑内容所在的文件夹而复杂化。 如果这样做,它可以从第一个缺陷中恢复,因为临时 Internet 文件夹中的内容显然不受信任,无论它呈现的安全区域如何。
此漏洞的攻击方案非常复杂,涉及使用 HTML 邮件传递包含快捷方式的 .chm 文件,然后使用缺陷将其打开,并允许快捷方式执行。 该快捷方式可以执行用户有权在系统上执行的任何操作。
在部署修补程序之前,客户应熟悉常见问题解答和下面“注意事项”部分中讨论的注意事项。
缓解因素: HTML 帮助 ActiveX 控件中的缓冲区溢出:
- 不能在 Outlook 98 或 Outlook 2000 与 Outlook 电子邮件安全更新结合使用或 Outlook Express 6 或 Outlook 2002 在其默认配置中使用基于 HTML 邮件的攻击途径。
- 该漏洞仅传达用户对系统的特权。 其帐户配置为在系统上拥有较少权限的用户的风险将低于使用管理权限的用户。
通过编译的 HTML 帮助文件执行代码:
- 无法通过网站利用该漏洞。
- 仅当攻击者能够确定临时 Internet 文件文件夹的确切位置时,才能利用该漏洞。 根据设计,这不应可行,并且 Microsoft 不知道这样做的方法尚未修补。
- 该漏洞仅传达用户对系统的特权。 其帐户配置为在系统上拥有较少权限的用户的风险将低于使用管理权限的用户。
严重性分级:
HTML 帮助 ActiveX 控件中的缓冲区溢出:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
所有受影响的产品 | 适中 | 适中 | 严重 |
通过编译的 HTML 帮助文件执行代码:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
所有受影响的产品 | 低 | 低 | 中等 |
上述 评估 基于受漏洞影响的系统类型、其典型部署模式以及利用漏洞对它们的影响。
漏洞标识符:
- HTML 帮助 ActiveX 控件中的缓冲区溢出: CAN-2002-0693
- 通过编译的 HTML 帮助文件执行代码: CAN-2002-0694
测试的版本:
Microsoft 在 Windows 98、Windows 98 标准版、Windows ME、Windows NT 4.0、Windows 2000 和 Windows XP 中测试了 HTML 帮助设施,以评估它们是否受这些漏洞的影响。 以前的版本不再 受支持,可能会或不受这些漏洞的影响。
常见问题解答
通过此修补程序消除哪些漏洞?
此修补程序消除了涉及 HTML 帮助设施的几个问题:
- 一个安全漏洞,使攻击者能够完全控制系统,并采取合法用户可能采取的任何操作。
- 具有与第一个漏洞相同的作用域的安全漏洞,但只有在攻击者已严重违反用户安全的情况下才能利用该漏洞。
是否有与修补程序关联的注意事项?
是的。 客户应注意与修补程序关联的两个注意事项:
- 它要求在系统上安装 Internet Explorer 5.01、5.5 或 6。 这是需要的,因为修补程序需要这些版本的 Internet Explorer 之前不存在的功能。
- 尽管此处的漏洞涉及 ActiveX 控件,但修补程序不会设置“终止位”。
什么是 ActiveX 控件?
ActiveX 控件是可由程序和网页调用的小型单用途程序。 ActiveX 允许程序员一次编写一段软件,并使其功能可供可能需要它的其他程序使用。
什么是“杀伤位”?
Kill Bit 是一种方法,即使系统上存在 ActiveX 控件,也可以阻止通过 Internet Explorer 调用 ActiveX 控件。 (有关 Kill Bit 的详细信息,请参阅 Microsoft 知识库文章Q240797)。 通常,当安全漏洞涉及 ActiveX 控件时,修补程序会提供一个新控件,并在易受攻击的控制上设置 Kill Bit。 但是,在这种情况下,这样做是不可行的。
为什么在案例中设置终止位是不可行的?
这些漏洞中涉及的 ActiveX 控件实现整个 Windows 帮助系统。 许多应用程序(包括第三方应用程序)包含对其的硬编码引用;如果修补程序设置了 Kill Bit,则这些程序的帮助设施将不再可用。 因此,修补程序将更新控件以删除漏洞,但不提供全新的控件,并在旧控件上设置 Kill Bit。
采取这种方法有什么风险?
由于此处的 ActiveX 控件已由 Microsoft 进行数字签名,并且签名仍然有效,因此攻击者在某些条件下可能会重新将旧的易受攻击的控件版本重新引入已修补的系统,从而再次使其易受攻击。
若要重新引入该控件的易受攻击版本,攻击者需要使用两种手段之一,这两种方法都可以得到缓解。 攻击者可能尝试以下两种方法之一:
- 将用户引诱到查看时将旧控件下载到用户的系统中的网页。
- 向用户发送 HTML 邮件,该邮件在打开时会将旧控件下载到用户的系统。
用户可以做些什么来减轻网站的风险?
只有少数 Internet 上的网站由恶意人员操作。 绝大多数网站都尊重访问者。 访问知名网站的客户风险很小。 但是,想要对网站重新引入易受攻击版本的控件的客户应禁用下载 ActiveX 控件,如下所示:
- 在 Internet Explorer 中,选择“工具”,然后选择“Internet 选项”。 选择“安全”选项卡。
- 在标有“选择 Web 内容区域...”的框中单击 Internet 区域。 接下来,单击对话框底部的“自定义级别”按钮。
- 在下一个对话框中,找到“ActiveX 控件和插件”部分(它应该是最顶层的部分)。 然后找到标记为“下载签名的 ActiveX 控件”的选项(它应该是该节中最顶层的选项)。
- 选择“禁用”。 单击“确定”退出对话框,然后单击“确定”关闭“Internet 选项”对话框。
用户可以做些什么来缓解 HTML 邮件中的风险?
在默认配置中运行 Outlook Express 或 Outlook 2002 的客户不会受到基于电子邮件的攻击的风险。 同样,运行 Outlook 98 或 Outlook 2000 的客户以及安装了 Outlook 电子邮件安全更新 的客户没有任何风险。 在所有这些情况下,已禁用通过电子邮件下载已签名的 ActiveX 控件。
Microsoft 最终是否会在此控件上设置 Kill Bit?
是的。 Microsoft 正在开发一项新技术,使它能够在易受攻击的控件版本上设置 Kill Bit,而不会失去应用程序使用帮助工具的能力。 当新技术可用时,我们将确保此修补程序使用它。
HTML 帮助 ActiveX 控件中的缓冲区溢出(CAN-2002-0693):
此漏洞的范围是什么?
这是 缓冲区溢出 漏洞。 能够利用此漏洞的攻击者可以采取合法用户可能采取的任何操作;例如,攻击者可以添加、删除或更改数据文件、下载和运行程序、与网站通信、重新格式化硬盘驱动器或采取其他操作。 可以通过诱使用户访问攻击者控制的网站,或向用户发送专门构造的 HTML 邮件来利用该漏洞。
该漏洞受到以下几个约束:
- 攻击者将获得与用户相同的权限,但不会获得更多权限。 其帐户配置为在系统上拥有较少权限的用户的风险将低于使用管理权限的用户。
- 将 Outlook 98 或 Outlook 2000 与 Outlook 电子邮件安全更新结合使用或使用 Outlook Express 6 或 Outlook 2002 的客户不会受到基于电子邮件的攻击途径的风险。
导致漏洞的原因是什么?
漏洞结果是因为实现 HTML 帮助设施的 ActiveX 控件在它公开的某个函数中包含未检查缓冲区。 如果使用特殊格式错误的参数调用了该函数,则它可能会产生溢出缓冲区的效果。
HTML 帮助工具是什么?
所有最新版本的 Windows 都包含一个基于 HTML 的标准化 帮助工具,通过该工具,在 Windows 上运行的任何应用程序都可以向用户显示帮助信息。 这有几个优点:
- 它允许所有应用程序提供一致的用户体验。
- 它允许使用动画、超链接和其他基于 Web 的功能,以提供更有效的帮助信息。
- 它通过允许开发人员避免实现自己的帮助系统来缩短开发时间。
HTML 帮助设施是如何实现的?
它部分实现为 ActiveX 控件。 这样,就可以由基于 GUI 的应用程序和基于 Web 的应用程序(可能包括网站)调用它。
HTML 帮助工具有什么问题?
该设施提供了许多不同的功能,应用程序在显示其帮助信息时可以使用这些功能。 但是,其中一个函数包含未检查缓冲区,并且此缺陷构成安全漏洞。
攻击者可以通过漏洞执行哪些操作?
调用 HTML 帮助设施并使用特殊格式参数调用受影响函数的攻击者可以修改 HTML 帮助设施的功能,并导致其执行攻击者选择的操作。 这可能包括添加、删除或更改系统上的数据、运行程序、下载或上传数据,或者用户可能采取的任何其他操作。 从本质上讲,它会让攻击者以用户的身份在系统上摆姿势。
但应用程序无法执行此操作? 毕竟,它已在用户的计算机上运行。 的确,如果程序在系统上运行,则它可以通过定义执行用户可以执行的操作。 在这种情况下, 第一个不可变的安全 法适用(“如果一个坏人可以说服你在你的计算机上运行他的程序,它不再是你的计算机)。 但是,回想一下,它不仅仅是用户系统上可以使用 HTML 帮助工具的应用程序,还可以通过网页调用它。 这就是为什么这里存在安全漏洞的原因。 想要利用漏洞的攻击者可以创建一个网页,该网页在浏览器中呈现时,会调用 HTML 帮助工具并调用包含该漏洞的函数。 如果在攻击者的网站上发布了该页面,则访问该网站的任何用户都可以附加。 另一方面,如果攻击者将页面作为 HTML 邮件直接发送给用户,则会在用户打开该页面时触发漏洞。
是否有任何方法阻止通过网站攻击?
是的。 一种方法是使用 Internet Explorer 安全区域 机制,该机制允许你规范网站可以在系统上执行的操作。 例如,位于受限站点区域中的站点无法利用此漏洞,因为那里的安全设置更加严格。 具体而言,禁止限制站点区域中的网页调用 ActiveX 控件。
是否有任何方法阻止通过 HTML 邮件的攻击?
是的。 Outlook 和 Outlook Express 依赖于 Internet Explorer 来显示 HTML 邮件的内容,你可以使用相同的安全区域机制来规范 HTML 邮件可以执行的操作。 使用 Outlook Express 6 或 Outlook 2002 的客户不受 HTML 邮件攻击的风险,因为这些产品默认在受限网站区域中打开邮件。 同样,使用 Outlook 98 或 2000 的客户以及已安装 Outlook 电子邮件安全更新的客户不会面临任何风险 - 同样,因为在此类配置中,HTML 邮件在受限站点区域中打开
修补程序如何解决漏洞?
修补程序更正未检查缓冲区。
通过编译的 HTML 帮助文件执行代码(CAN-2002-0694):
此漏洞的范围是什么?
此漏洞可能使攻击者能够对其他用户的计算机执行任何操作,该用户只能受到系统上拥有的权限的限制。 与上述情况一样,这可能使攻击者能够采取广泛的破坏性操作。
仅当其他已知安全漏洞(修补程序可用)尚未应用时,才能利用该漏洞。 此处提供的修补程序将阻止在任何条件下利用漏洞。
导致漏洞的原因是什么?
由于存在两个独立缺陷,涉及如何处理编译的 HTML 帮助 (.chm) 文件,因此漏洞导致:
- HTML 帮助工具使用 IE 安全区域机制来确定对已编译的 HTML 帮助文件施加的限制,但在某些情况下会错误地执行此操作。
- 没有限制编译的 HTML 帮助文件可以包含快捷方式。
什么是已编译的 HTML 帮助文件?
编译的 HTML (.chm) 文件由包含帮助文本的网页以及几个其他文件组成。 编译帮助文件有助于最大程度地减少帮助文件在磁盘上占用的空间。
在这种情况下,特别感兴趣的是 .chm 文件可以包含快捷方式。 快捷方式允许 HTML 帮助文件链接到和执行代码。 此功能允许帮助主题演示指向用户的点,或为他执行函数。 例如,如果在 Windows 2000 中搜索有关添加打印机的帮助,则可以使用快捷方式直接转到控制面板中的“打印机”文件夹,然后启动添加打印机的向导。
HTML 帮助处理已编译的 HTML 帮助文件的方式有什么问题?
有两个问题。 第一个涉及 HTML 帮助工具如何评估应在其中处理已编译 HTML 帮助文件的 Internet Explorer 安全区域 ,以防文件作为网页的一部分下载。
只要文件作为网页的一部分传递到用户的系统,它都会存储在临时 Internet 文件文件夹中(也称为 Internet Explorer 缓存)。 在大多数情况下,当位于用户系统上的文件在 Internet Explorer 中打开时,它会在本地计算机区域中打开。 不过,位于“临时 Internet 文件”文件夹中的文件是一种特殊情况-它们已由网页传送,并且应受到与页面本身相同的限制。 因此,临时 Internet 文件文件夹中的文件应始终在与传送它们的网页关联的安全区域中打开。
出现第一个缺陷是因为 HTML 帮助工具不依赖于 Internet Explorer 来确定已编译的 HTML 帮助文件的区域,而是确定区域本身,并且这样做不正确。 具体而言,打开文件时,它错误地使用本地计算机区域,它授予文件比它保证的纬度更大的纬度,并打开门,以利用第二个缺陷。
第二个缺陷是什么?
HTML 帮助工具在可以执行已编译的 HTML 帮助文件中的快捷方式时受到限制,但这样做不够。 帮助工具仅允许 HTML 帮助文件在本地计算机区域中使用快捷方式。 但它还应检查文件所在的文件夹,如果该文件位于文件夹(如临时 Internet 文件文件夹)包含不受信任的内容,则禁止使用快捷方式。
这些缺陷如何结合以创建安全漏洞?
假设攻击者能够将包含快捷方式的已编译 HTML 帮助文件传递到用户计算机上的临时 Internet 文件文件夹中。 由于第一个缺陷,如果攻击者能够以某种方式打开文件,则会在本地计算机区域中执行此操作。 由于第二个缺陷,这足以允许文件中的快捷方式执行。 发生此情况后,攻击者的快捷方式可以采取对用户系统进行编程的任何操作。
但是攻击者如何将该文件传递到临时 Internet 文件文件夹并打开它?
将文件传送到临时 Internet 文件文件夹并不特别困难 - 通过向用户发送特殊构造的 HTML 邮件可以轻松完成。 然而,第二步 -- 打开文件 - 可能相当困难。 根据设计,网页不能直接打开临时 Internet 文件文件夹中的文件。 执行此操作的能力本身就是一个安全漏洞,Microsoft 将立即开发一个修补程序来阻止此类情况。
修补程序如何解决漏洞?
此修补程序执行两个步骤来解决漏洞。 首先,它会更改 HTML 帮助如何确定 HTML 文件的安全区域。 应用修补程序后,HTML 帮助工具依赖于 Internet Explorer 来标识区域,而不是尝试自行确定区域。
其次,修补程序会建立一个新的检查,该检查限制 HTML 帮助文件在包含快捷方式时可以驻留的位置。 应用修补程序后,如果 HTML 帮助不在已知包含不受信任的内容的文件夹中,则只能使用快捷方式。 例如,在 Windows 2000 和 XP 系统上,仅当文件包含在以下文件夹之一(或其任何子文件夹)中时,快捷方式才会运行:
- %windir%/help
- %windir%/pchealth/helpctr
- %program files%
是否有任何方法可以更改允许使用快捷方式的文件夹列表?
是的。 该修补程序还为 Windows 2000 和 XP 系统创建新的系统策略,称为“将可能不安全的 HTML 帮助函数限制为指定文件夹”。 系统管理员可以使用此策略自定义 HTML 帮助文件可以使用快捷方式的文件夹列表。 策略设置 System 管理员istrative 模板下的 HelpQualifiedRootDir 密钥。
修补程序可用性
下载此修补程序的位置
所有 Windows 系统的修补程序都可通过Windows 更新提供,也可以通过以下修补程序手动应用:
Windows 98 和 Windows 98 标准版:
Windows Me:
只能通过Windows 更新使用。
Windows NT 4.0:
Windows NT 4.0 终端服务器版本:
Windows 2000:
Windowsxp:
有关此修补程序的其他信息
安装平台:
- 可以在运行 Windows 98 Gold 的系统上安装 Window 98 修补程序。
- Windows 98标准版 修补程序可以安装在运行 Windows 98标准版 Gold 的系统上。
- 可以在运行 Windows Me Gold 的系统上安装 Windows Me 修补程序。
- 可以在运行 Service Pack 6a 的系统上安装 Windows NT 4.0 修补程序。
- 可以在运行 Windows NT 4.0 Terminal Server Edition Service Pack 6 的系统上安装 Windows NT 4.0 终端服务器版修补程序。
- 可以在运行 Windows 2000 Service Pack 1、Service Pack 2 或 Service Pack 3 的系统上安装 Windows 2000 修补程序。
- Windows XP 的修补程序可以安装在运行 Windows XP Gold 或 Service Pack 1 的系统上。
包含在将来的 Service Pack 中:
此问题的修补程序将包含在 Windows 2000 Service Pack 4 和 Windows XP Service Pack 2 中。
需要重新启动: 是
可以卸载修补程序: 否
取代的修补程序:
此修补程序取代了 Microsoft 安全公告 MS00-037 中提供的修补程序。
验证修补程序安装:
Windows 98、Windows 98标准版和窗口我:
若要验证计算机上是否已安装修补程序,请使用 Qfe检查.exe 工具并确认显示是否包含以下信息:
UPD323255 Windows xx Q323255更新
其中 xx 是 Windows 98 或 98 的“98”标准版,或 Windows Me 的“Me”。
若要验证各个文件,请参阅知识库文章Q323255中的文件清单。
Windows NT 4.0:
- 若要验证是否已在计算机上安装修补程序,请确认知识库文章Q323255中列出的所有文件都存在于系统上。
Windows NT 4.0 终端服务器版本:
- 若要验证是否已在计算机上安装修补程序,请确认知识库文章Q323255中列出的所有文件都存在于系统上。
Windows 2000:
若要验证是否已在计算机上安装修补程序,请确认计算机上已创建以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\汇报\Windows 2000\SP4\Q323255。
若要验证各个文件,请使用以下注册表项中提供的日期/时间和版本信息:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\汇报\Windows 2000\SP4\Q323255\Filelist。
Windowsxp:
若要验证是否已安装修补程序,请确认计算机上已创建以下注册表项:
HKLM\Software\Microsoft\汇报\Windows XP\SP2\Q323255。
若要验证各个文件,请使用以下注册表项中提供的日期/时间和版本信息:
HKLM\Software\Microsoft\汇报\Windows XP\SP2\Q323255\Filelist。
注意:
- 修补程序要求在系统上安装 Internet Explorer 5.01、5.5 或 6。
- 如常见问题解答中所述,修补程序不会在受影响的控件上设置 Kill Bit 。
本地化:
此修补程序的本地化版本在“修补程序可用性”中讨论的位置可用。 具体而言,请注意,Windows NT 4.0 和 Windows NT 4.0 终端服务器版本的修补程序可以安装在任何语言版本上,其中其他平台有单独本地化的修补程序。
获取其他安全修补程序:
可从以下位置获取其他安全问题的修补程序:
- 安全修补程序可从 Microsoft 下载中心获取,可通过执行关键字 (keyword)搜索“security_patch”来轻松找到。
- WindowsUpdate 网站提供了使用者平台的修补程序
其他信息:
确认
Microsoft 感谢下一代安全软件有限公司的 David Litchfield 和 Thor Larholm,安全研究员 PivX Solutions, LLC (https://www.pivx.com)向我们报告 HTML 帮助 ActiveX 控制中的缓冲区溢出,并与我们合作保护客户。
支持:
- Microsoft 知识库文章Q323255讨论此问题,此公告发布后大约 24 小时可用。 可以在 Microsoft Online 支持网站上找到知识库文章。
- Microsoft 产品支持服务提供技术支持。 与安全修补程序关联的支持调用不收取任何费用。
安全资源:Microsoft TechNet 安全网站提供有关 Microsoft 产品安全性的其他信息。
免责声明:
Microsoft 知识库中提供的信息“按原样”提供,不提供任何形式的担保。 Microsoft 不明确或暗示所有保证,包括适销性和针对特定用途的适用性和适用性的保证。 在任何情况下,Microsoft Corporation 或其供应商都应对任何损害负责,包括直接、间接、附带、后果性、业务利润损失或特殊损害,即使 Microsoft Corporation 或其供应商被告知存在此类损害的可能性。 某些州不允许排除或限制后果性或附带性损害的责任,因此上述限制可能不适用。
修改:
- V1.0 (2002 年 10 月 2 日):公告已创建。
- V1.1 (2 月 28 日,03 日):更新的 Windows XP 修补程序下载链接
构建于 2014-04-18T13:49:36Z-07:00</https:>