适用对象:
Microsoft .NET Framework 2.0 Microsoft .NET Framework 3.0 Microsoft .NET Framework 4.5.2 Microsoft .NET Framework 4.6
声明
我们于 2020 年 10 月 13 日重新发布此更新,以解决影响原始版本的已知问题。 您应该将此版本 (V3) 的更新作为常规安全例程的一部分安装。
2020 年 7 月 23 日发布了更新 KB4565583 v2 和 KB4565586 v2 以替代这些更新的 v1 版本,这些更新适用于 Windows Server 2008 SP2 的 .NET Framework 4.5.2 和 4.6。 对于具有某些 ESU 配置的客户,不会安装 v1 更新。 v2 更新更正了客户无法安装 v1 更新的问题。
如果你已经安装了这些更新的 v1 版本,请安装 v3 版。
有关此更新的其他信息”部分中找到每个文章的链接。
要获取这些更新的 v3 版本,请参阅单独更新文章的“如何获取和安装更新”部分。 在本文的“重要说明安装此更新前,请确认已安装如何获取此更新部分列出的所需更新。
重要事项 WSUS 扫描 cab 文件将继续适用于 Windows Server 2008 SP2。 如果有一部分设备在没有 ESU 的情况下运行此操作系统,则它们可能会在补丁程序管理和合规性工具集中显示为不符合。
重要事项 已为此 OS 的本地版本购买了 扩展安全更新 (ESU) 的客户必须遵循 KB4522133 中的过程,才能在 2020 年 1 月 14 日扩展支持结束后继续接收安全更新。 有关 ESU 以及支持哪些版本的详细信息,请参阅 KB4497181。
重要事项 自 2019 年 8 月起,对适用于 Windows Server 2008 SP2 的 .NET Framework 4.6 及更高版本的更新,需要 SHA-2 代码签名支持。 请确保在应用此更新前已安装所有最新 Windows 更新以避免安装问题。 有关 SHA-2 代码签名支持更新的更多详细信息,请参阅 知识库文章4474419。
重要事项 所有适用于 .NET Framework 4.7.2、4.7.1、4.7、4.6.2、4.6.1 和 4.6 的更新均需要安装 d3dcompiler_47.dll 更新。 我们建议你在应用此更新之前先安装随附的 d3dcompiler_47.dll 更新。 有关 d3dcompiler_47.dll 的详细信息,请参阅 知识库4019990。
重要事项 若在安装此更新后安装语言包,则必须重新安装此更新。 因此,我们建议先安装所需的全部语言包,然后再安装此更新。 有关详细信息,请参阅 将语言包添加到 Windows。
摘要
当软件无法检查 XML 文件输入的源标记时,.NET Framework 中存在远程执行代码漏洞。 成功利用此漏洞的攻击者可以在负责反序列化 XML 内容的进程的上下文中运行任意代码。 若要利用此漏洞,攻击者可以使用受影响的产品将经特殊设计的文档上传到服务器以处理内容。 此安全更新通过更正 .NET Framework 服务验证 XML 内容的源标记的方式来修复此漏洞。
此安全更新影响 .NET Framework 的 System.Data.DataTable 和 System.Data.DataSet 类型读取 XML 系列化数据的方式。 大部分 .NET Framework 应用程序在安装更新后都不会遇到任何行为更改。 有关更新如何影响 .NET Framework 的更多信息,包括可能受影响的情况示例,请参阅 https://go.microsoft.com/fwlink/?linkid=2132227 的 DataTable 和 DataSet 安全指南文档。
若要了解有关漏洞的更多信息,请参阅以下常见漏洞和披露 (CVE)。
此更新的某些部分的已知问题
症状 |
应用此更新后,尝试在 SQL CLR 存储过程中从 XML 反序列化 System.Data.DataSet 或 System.Data.DataTable 实例时,某些应用程序会遇到 TypeInitializationException 异常。 此异常的堆栈跟踪显示如下: System.TypeInitializationException:“作用域”的类型初始值引发异常。 ---> System.IO.FileNotFoundException:无法加载文件或程序集“System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。 系统找不到指定的文件。 at System.Data.TypeLimiter.Scope.IsTypeUnconditionallyAllowed(Type type) at System.Data.TypeLimiter.Scope.IsAllowedType(Type type) at System.Data.TypeLimiter.EnsureTypeIsAllowed(Type type, TypeLimiter capturedLimiter) |
解决方法 |
安装于 2020 年 10 月 13 日发布的此更新的最新版本。 |
症状 |
此更新不会安装,它会返回以下错误消息的其中一条或两条:
|
解决方法 |
有关详细信息,请参阅 .NETFramework 各个产品版本的文章以获取详细说明。 |
有关此更新的其他信息
下列文章包含此更新针对具体产品版本的其他信息。
-
4565578 适用于 Windows Server 2008 SP2 的 .NET Framework 2.0., 3.0 仅安全更新说明 (KB4565578)
-
4565583 适用于 Windows 7 SP1、Windows Server 2008 R2 SP1 和 Windows Server 2008 SP2 的 .NET Framework 4.5.2 仅安全更新说明 (KB4565583)
-
4565586 适用于 Windows 7 SP1、Windows Server 2008 R2 SP1 和 Windows Server 2008 SP2 的 .NET Framework 4.6 仅安全更新说明 (KB4565586)
有关保护和安全的信息
-
保护自己的上网安全: Windows 安全中心支持
-
了解如何防范网络威胁:Microsoft 安全