MS16-087:Windows 打印后台处理程序组件的安全更新:2016 年 7 月 12 日

应用对象
Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Standard Windows Server 2012 R2 Essentials Windows Server 2012 R2 Foundation Windows 8.1 Enterprise Windows 8.1 Pro Windows 8.1 Windows RT 8.1 Windows Server 2012 Datacenter Windows Server 2012 Datacenter Windows Server 2012 Standard Windows Server 2012 Standard Windows Server 2012 Essentials Windows Server 2012 Foundation Windows Server 2012 Foundation Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Standard Windows Server 2008 R2 Web Edition Windows Server 2008 R2 Foundation Windows 7 Service Pack 1 Windows 7 Ultimate Windows 7 Enterprise Windows 7 Professional Windows 7 Home Premium Windows 7 Home Basic Windows 7 Starter Windows Server 2008 Service Pack 2 Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 Standard Windows Server 2008 Web Edition Windows Server 2008 Foundation Windows Server 2008 for Itanium-Based Systems Windows Vista Service Pack 2 Windows Vista Ultimate Windows Vista Enterprise Windows Vista Business Windows Vista Home Premium Windows Vista Home Basic Windows Vista Starter

声明

该安全更新于 2017 年 9 月 12 日重新发布,以解决 CVE-2016-3238 的 3170455 更新中的已知问题。

Microsoft 已经为当前支持的 Microsoft Windows 版本提供了以下更新。 有关更多信息,请转到以下 Microsoft 知识库中文章:

  • 适用于 Windows Server 2008 的重新发布的更新 3170455
  • 适用于 Windows 7 和 Windows Server 2008 R2 的每月汇总补丁 4038777 和安全更新 4038779
  • 适用于 Windows Server 2012 的每月汇总 4038799 和安全更新 4038786
  • 适用于 Windows 8.1 和 Windows Server 2012 R2 的每月汇总 4038792 和安全更新 4038793
  • 适用于 Windows 10 的累积更新 4038781
  • 适用于 Windows 10 版本 1511 的累积更新 4038781
  • 适用于 Windows 10 版本 1607 和 Windows Server 2016 的累积更新 4038782

Microsoft 建议运行 Windows Server 2008 的客户重新安装更新 3170455。 Microsoft 建议运行其他受支持版本的 Windows 的客户安装相应的更新。 有关更多信息,请转到 Microsoft 知识库文章 3170455

MS16-087 重新发布的版本中包含的其他更改

  • 添加了事件日志,以帮助确定打印机驱动程序安装错误的原因

以前,客户了解驱动程序为什么执行新的限制检查(作为 MS16-087 的一部分执行)失败的唯一方法是,收集打印 etw 日志,然后发送给 Microsoft 进行分析。

我们添加了将失败原因记录到事件记录程序的功能,以便客户可以自己调查驱动程序失败的根本原因。

将记录的信息:

1. 如果驱动程序未识别包或未正确签名,则会记录以下消息:

MSG_CSRSPL_UNTRUSTED_DRIVER:“打印后台处理程序无法下载驱动程序 <driverName> 的包。 错误代码= <errorCodeFromListBelow>。 Blocking driver as there could be a possibility of potential tampering."

2. 如果驱动程序使用提供的目录验证签名失败,则会记录以下消息:

VALIDATEDRVINFO_FAILED:“在 VALIDATINGDRVINFO 中,添加打印机驱动程序 <driverName> 失败,错误代码 <errorCodeFromListBelow>。

Possible Error codes:

代码 含义
0x800F0243L Publisher 不可信
0x800F024BL 哈希不在目录中
0x800F022FL OEM INF 没有目录
0x800F023FL 无验证码目录
0x800F0240L 不允许使用验证码
0x800F0249L 通用“驱动程序安装被阻止”

摘要

此安全更新修复了 Microsoft Windows 中的漏洞。 如果攻击者能够对工作站或打印服务器执行中间人 (MiTM) 攻击或在目标网络设立 rogue 打印服务器,更严重的漏洞可能允许远程代码执行。

要了解此漏洞的更多信息,请参阅 Microsoft 安全公告 MS16-087

详细信息

重要

  • 安装此安全更新程序后,为了将指向并打印驱动程序从打印服务器部署到客户端,必须应用以下 Windows 8.1 或 Windows Server 2012 R2 打印机服务器上的 Windows 更新汇总:
    3000850 2014 年 11 月更新汇总,适用于 Windows RT 8.1、Windows 8.1 和 Windows Server 2012 R2
  • 今后所有适用于 Windows RT 8.1、Windows 8.1 和 Windows Server 2012 R2 的安全更新和非安全更新均要求安装更新 2919355。 我们建议在基于 Windows RT 8.1、Windows 8.1 或 Windows Server 2012 R2 的计算机上安装更新 2919355,以便今后持续接收更新。
  • 若在安装此更新后安装语言包,则必须重新安装此更新。 因此,我们建议先安装所需的全部语言包,然后再安装此更新。 有关更多信息,请参阅添加语言包至 Windows

有关此安全更新的其他信息

下列文章包含此安全更新针对具体产品版本的其他信息。 文章可能包含已知问题信息。

  • 3170455 MS16-087:Windows 打印后台处理程序组件的安全更新说明:2016 年 7 月 12 日
  • 3163912 Windows 10 的累积更新:2016 年 7 月 12 日
  • 3172985 Windows 10 版本 1511 和 Windows Server 2016 Technical Preview 4 的累积更新:2016 年 7 月 12 日

已知问题

如果在你的系统环境中使用网络打印,则可能会遇到下面其中的一个问题:

  • 你可能会收到一条警告,提示你安装一个打印机驱动,否则在应用 MS16-087 后,驱动可能无法安装,并且不通知。 此现象取决于具体情形。
    情形 1 对于无可识别程序包的 v3 打印机驱动程序,在用户尝试连接指向并打印打印机时,可能显示以下警告消息:

    e5e460dd-5995-37ef-44bd-60313f49c7f3
    情形 2 有可识别程序包驱动程序必须使用信任证书进行签名。 验证过程将检查驱动内包括的所有文件是否散列于目录中。 如果验证失败,此驱动会被认为不可信任。 在此情况下,驱动程序安装会被阻止,并显示以下警告消息:

    0b55cb05-ac97-13a3-d053-717a790f26a1
    情形 3 对于非交互情形(例如,打印机已通过自动脚本安装),如果打印机驱动程序符合情形 1 或情形 2 描述的条件,打印机安装失败且不显示警告消息。

    在此情况下,请联系网络管理员,以从打印机制造商处获取更新的驱动程序。

    网络管理员指南:

    • 更新受影响的打印机驱动。 有可识别程序包的 V3 打印机驱动已引入 Windows Vista 中。 安装一个有可识别程序包的打印机驱动来解决此问题。
    • 如果特定旧的打印机没有适合的可用打印机驱动,可在客户端系统上预装产生问题的打印机驱动来解决此问题。

    有关这些情形的详细信息,请参阅下列 Microsoft 资源:

  • 应用安全更新程序 MS16-087 (KB 3170455) 并尝试连接到在运行 Windows 8.1 或 Windows Server 2012 R2 的系统上安装的受信任程序包可感知打印机之后,无法连接到打印机。

    要解决此问题,请应用以下有关 Windows 8.1 或 Windows Server 2012 R2 打印机服务器的 Windows 更新汇总:
    3000850 2014 年 11 月更新汇总,适用于 Windows RT 8.1、Windows 8.1 和 Windows Server 2012 R2

2016 年 10 月更新: 已知问题缓解措施

Microsoft 已发布 2016 年 10 月更新,此更新可允许网络管理员配置允许安装他们认为安全的打印驱动程序的策略。 此更新还允许网络管理员部署他们认为安全的打印机连接。

这些更新包含在以下汇总程序包中。
 

Windows 10 RTM KB 3192440
Windows 10 1511 KB 3192441
Windows 10 1607 KB 3194798
Windows 7 和 Windows Server 2008 R2 KB 3192403
Windows Server 2012 KB 3192406
Windows 8.1 and Windows Server 2012 R2 KB 3192404

配置组策略以将打印服务器添加到允许的列表

  1. 单击“开始”,然后单击“运行”。

  2. 键入 gpedit.msc,然后单击“确定”。

  3. 展开“计算机配置”,然后展开“管理模板”。

  4. 单击“打印机”。

  5. 双击“指向并打印限制”,然后选择“已启用”选项。

  6. 在“选项”下,选中“用户只能指向并打印到这些服务器”复选框,然后在文本框中键入以分号分隔的完全限定服务器名称。

  7. 在“安全提示”下,按如下所示设置它们:

    1. “为新连接安装驱动程序时”:“显示警告和提升提示”。
    2. “更新现有连接的驱动程序时”:“显示警告和提升提示”。
  8. 单击“应用”,然后单击“确定”。

  9. 在“打印机”策略页面中,双击“程序包指向并打印 - 批准的服务器”。

  10. 选择“已启用”选项。

  11. 在“选项”下,单击“显示”。

  12. 在每行中键入一个完全限定服务器名称。

  13. 单击“确定”。

  14. 单击“应用”,然后单击“确定”。

  15. 如果你正在使用独立客户端,请重启该客户端,然后确认这些策略已生效。

  16. 如果你正在使用域策略,请将这些策略推送到域客户端,然后确认这些策略已生效。

注意:启用这些组策略之后,必须将所有打印机服务器添加到“指向并打印限制”列表和“程序包指向并打印 - 批准的服务器”列表。 此条件成立,不管程序包是否可感知。

2016 年 10 月更新常见问题解答

  • 问:是否应卸载以前的更新?
    答:不会。 较低版本的更新修复了漏洞。 2016 年 10 月更新提供了缓解措施,使网络管理员可以安装他们认为安全的驱动程序。

  • 问:即使安装了 2016 年 10 月更新并配置了组策略,我在尝试安装本地打印机时,仍显示“你是否信任此打印机?”消息。 原因何在?
    答:此缓解措施针对的是网络打印机,而不是本地打印机,因此此行为是预期行为。

    注意:如果收到“你是否信任此打印机?”消息,请通过使用受信任的可识别程序包驱动程序替换当前驱动程序,或在安装本地打印机之前将驱动程序文件安装到本地驱动程序存储。 有关详细信息,请参阅网络管理员指南部分。

如何获取和安装更新

方法 1: Windows 更新

可以通过 Windows 更新获取此更新。 启用自动更新后,系统会自动下载并安装此更新。 有关如何开启自动更新的更多信息,请参阅自动获取安全更新程序

注意:对于 Windows RT 8.1,此更新仅可通过 Windows 更新获得。

方法 2:Microsoft下载中心

可以通过 Microsoft 下载中心获取独立的更新程序包。 若要安装此更新,请按照下载页面上的安装说明进行操作。

单击 Microsoft 安全公告 MS16-087 中与你运行的 Windows 版本相对应的下载链接。

详细信息

安全更新部署信息

Windows Vista (所有版本) 参考表

下表包含此软件的安全更新信息。
 

安全更新文件名 对于所有受支持的 32 位版本的 Windows Vista:
Windows6.0-KB3170455-x86.msu
对于所有受支持的基于 x64 的 Windows Vista 版本:
Windows6.0-KB3170455-x64.msu
安装开关 请参阅 Microsoft 知识库文章 934307
重启要求 在某些情况下,此更新不需要重启系统。 如果所需文件正在使用中,则此更新程序会要求重启系统。 如果发生这种情况,您将收到一条消息,提醒您重启系统。
删除信息 WUSA.exe 不支持卸载更新程序。 若要卸载由 WUSA 安装的更新,请依次单击“控制面板”和“安全”。 在“Windows 更新”下,单击“查看已安装的更新”并从更新列表中选择。
文件信息 请参阅 Microsoft 知识库文章 3170455
注册表项验证 注意 没有用于验证此更新是否存在的注册表项。

Windows Server 2008 (所有版本) 参考表

下表包含此软件的安全更新信息。
 

安全更新文件名 对于所有受支持的 32 位版本的 Windows Server 2008:
Windows6.0-KB3170455-x86.msu
对于所有受支持的基于 x64 的 Windows Server 2008 版本:
Windows6.0-KB3170455-x64.msu
对于 2008 Windows Server支持的所有基于 Itanium 的版本:
Windows6.0-KB3170455-ia64.msu
安装开关 请参阅 Microsoft 知识库文章 934307
重启要求 在某些情况下,此更新不需要重启系统。 如果所需文件正在使用中,则此更新程序会要求重启系统。 如果发生这种情况,您将收到一条消息,提醒您重启系统。
删除信息 WUSA.exe 不支持卸载更新程序。 若要卸载由 WUSA 安装的更新,请依次单击“控制面板”和“安全”。 在“Windows 更新”下,单击“查看已安装的更新”并从更新列表中选择。
文件信息 请参阅 Microsoft 知识库文章 3170455
注册表项验证 注意 没有用于验证此更新是否存在的注册表项。

Windows 7 (所有版本) 参考表

下表包含此软件的安全更新信息。
 

安全更新文件名 对于所有受支持的 32 位版本的 Windows 7:
Windows6.1-KB3170455-x86.msu
对于所有受支持的基于 x64 的 Windows 7 版本:
Windows6.1-KB3170455-x64.msu
安装开关 请参阅 Microsoft 知识库文章 934307
重启要求 在某些情况下,此更新不需要重启系统。 如果所需文件正在使用中,则此更新程序会要求重启系统。 如果发生这种情况,您将收到一条消息,提醒您重启系统。
删除信息 若要卸载由 WUSA 安装的更新,请使用“/Uninstall”设置开关,或依次单击“控制面板”、“系统和安全”和“Windows 更新”,单击“已安装的更新”,然后从更新列表中进行选择。
文件信息 请参阅 Microsoft 知识库文章 3170455
注册表项验证 注意 没有用于验证此更新是否存在的注册表项。

Windows Server 2008 R2 (所有版本) 参考表

下表包含此软件的安全更新信息。
 

安全更新文件名 对于所有受支持的基于 x64 的 Windows Server 2008 R2 版本:
Windows6.1-KB3170455-x64.msu
对于所有受支持的基于 Itanium 的 Windows Server 2008 R2 版本:
Windows6.1-KB3170455-ia64.msu
安装开关 请参阅 Microsoft 知识库文章 934307
重启要求 在某些情况下,此更新不需要重启系统。 如果所需文件正在使用中,则此更新程序会要求重启系统。 如果发生这种情况,您将收到一条消息,提醒您重启系统。
删除信息 若要卸载由 WUSA 安装的更新,请使用“/Uninstall”设置开关,或依次单击“控制面板”、“系统和安全”和“Windows 更新”,单击“已安装的更新”,然后从更新列表中进行选择。
文件信息 请参阅 Microsoft 知识库文章 3170455
注册表项验证 注意 没有用于验证此更新是否存在的注册表项。

Windows 8.1 (引用表) 所有版本

下表包含此软件的安全更新信息。

安全更新文件名 对于所有受支持的 32 位版本的 Windows 8.1:
Windows8.1-KB3170455-x86.msu
对于所有受支持的基于 x64 的 Windows 8.1版本:
Windows8.1-KB3170455-x64.msu
安装开关 请参阅 Microsoft 知识库文章 934307
重启要求 在某些情况下,此更新不需要重启系统。 如果所需文件正在使用中,则此更新程序会要求重启系统。 如果发生这种情况,您将收到一条消息,提醒您重启系统。
删除信息 若要卸载由 WUSA 安装的更新,请使用“/Uninstall”设置开关,或依次单击“控制面板”、“系统和安全”和“Windows 更新”,在“另请参阅”下单击“已安装的更新”,然后从更新列表中进行选择。
文件信息 请参阅 Microsoft 知识库文章 3170455
注册表项验证 注意 没有用于验证此更新是否存在的注册表项。

Windows Server 2012和Windows Server 2012 R2 (所有版本) 参考表

下表包含此软件的安全更新信息。
 

安全更新文件名 对于所有受支持的Windows Server 2012版本:
Windows8-RT-KB3170455-x64.msu
对于所有受支持的 Windows Server 2012 R2 版本:
Windows8.1-KB3170455-x64.msu
安装开关 请参阅 Microsoft 知识库文章 934307
重启要求 在某些情况下,此更新不需要重启系统。 如果所需文件正在使用中,则此更新程序会要求重启系统。 如果发生这种情况,您将收到一条消息,提醒您重启系统。
删除信息 若要卸载由 WUSA 安装的更新,请使用“/Uninstall”设置开关,或依次单击“控制面板”、“系统和安全”和“Windows 更新”,在“另请参阅”下单击“已安装的更新”,然后从更新列表中进行选择。
文件信息 请参阅 Microsoft 知识库文章 3170455
注册表项验证 注意 没有用于验证此更新是否存在的注册表项。

Windows RT 8.1 (参考表) 所有版本

下表包含此软件的安全更新信息。
 

部署 此安全更新仅通过 Windows 更新提供。
重启要求 在某些情况下,此更新不需要重启系统。 如果所需文件正在使用中,则此更新程序会要求重启系统。 如果发生这种情况,您将收到一条消息,提醒您重启系统。
删除信息 依次单击“控制面板”、“系统和安全”和“Windows 更新”,然后在“另请参阅”下单击“已安装的更新”,并从更新列表中进行选择。
文件信息 请参阅 Microsoft 知识库文章 3170455

Windows 10 (引用表) 所有版本

下表包含此软件的安全更新信息。
 

安全更新文件名 对于所有受支持的 32 位版本的 Windows 10:
Windows10.0-KB3163912-x86.msu
对于所有受支持的基于 x64 的Windows 10版本:
Windows10.0-KB3163912-x64.msu
对于所有受支持的 32 位版本的 Windows 10 版本 1511:
Windows10.0-KB3172985-x86.msu
对于所有受支持的基于 x64 的版本Windows 10版本 1511:
Windows10.0-KB3172985-x64.msu
安装开关 请参阅 Microsoft 知识库文章 934307
重启要求 在某些情况下,此更新不需要重启系统。 如果所需文件正在使用中,则此更新程序会要求重启系统。 如果发生这种情况,您将收到一条消息,提醒您重启系统。
删除信息 若要卸载由 WUSA 安装的更新,请使用“/Uninstall”设置开关,或依次单击“控制面板”、“系统和安全”和“Windows 更新”,在“另请参阅”下单击“已安装的更新”,然后从更新列表中进行选择。
文件信息 请参阅 Microsoft知识库文章3163912
请参阅 Microsoft知识库文章3172985
注册表项验证 注意 没有用于验证此更新是否存在的注册表项。
如何获取此安全更新的帮助和支持

有关安装更新的帮助: 支持Microsoft更新

面向 IT 专业人员的安全解决方案: TechNet 安全故障排除和支持

有关保护基于 Windows 的计算机免受病毒和恶意软件的帮助: 病毒解决方案和安全中心

根据国家/地区提供本地支持:国际支持