深入解析2011年12月ActiveX终止位公告(MS11-090)的技术细节

本文详细介绍了微软MS11-090安全更新的技术背景,重点解释了针对Microsoft Time组件漏洞(CVE-2011-3397)的二进制行为终止位机制,包括受影响产品范围、注册表设置方法以及x86/x64系统的具体配置差异。

关于2011年12月ActiveX终止位公告(MS11-090)的更多信息

本月我们发布了MS11-090安全更新,用于修复Microsoft Time组件中的一个漏洞(CVE-2011-3397),该组件包含在IE6中仍受支持但已弃用的时间行为功能。我们希望通过本文提供更多关于此问题的信息,并解释为何设置"二进制行为终止位"是最合适的解决方案。

哪些产品受到影响?

易受攻击的组件已从IE7及后续浏览器中移除。IE6是唯一受影响的受支持浏览器。

什么是时间行为?

时间行为是HTML+TIME 1.0的一个功能特性,最初在IE5中发布。它为启用动画内容提供了活动时间线功能。

为什么CVE-2011-3397被包含在ActiveX终止位公告(MS11-090)中,而不是累积IE公告(MS11-099)中?

对此问题最合适的修复方法是发布终止位来禁用已弃用的二进制行为。

什么是二进制行为终止位?

通常,我们发布的终止位旨在禁用特定的ActiveX对象。例如,以下注册表项为基于x86的系统设置ActiveX对象的终止位:

1
2
3
4
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}]
"Compatibility Flags"=dword:00000400

二进制行为终止位与此非常相似。要为特定二进制行为设置终止位,可以使用:

1
2
3
4
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}]
"Compatibility Flags"=dword:04000400

高亮显示的位通知IE永远不要从特定的CLSID加载二进制行为。

基于x64系统的注册表项为:

1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\ActiveX控件的CLSID

x86 IE:

1
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\ActiveX控件的CLSID

有关终止位的更多信息,请参考David Ross的优秀终止位FAQ系列。该系列将很快更新以讨论二进制行为终止位。

特别感谢IE团队的Kwan-Leung Chan和Eric Lawrence。

  • Chengyun Chu, MSRC Engineering
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计