Security Only Update for .NET Framework 2.0, 3.0, 4.5.2, 4.6 for Windows Server 2008 SP2 (KB4566469)

Applies to: .NET Framework


On October 13th, 2020 we are republishing this update to resolve a known issue that affected the original release. You should install this version (V3) of the update as part of your normal security routine.

On July 23, 2020, update KB4565583 v2 and KB4565586 v2 were released to replace v1 of those updates for .NET Framework 4.5.2 and 4.6 for Windows Server 2008 SP2. The v1 updates did not install for customers who had certain ESU configurations.  The v2 updates correct the issue for customers who could not install the v1 updates.  

If you have already installed v1 of these updates, install v3.  

To obtain v3 of these updates, see the “How to obtain and install the update” section of the individual update article.  Links to each article are found in the "Additional information about this update section" of this article.


A remote code execution vulnerability exists in .NET Framework when the software fails to check the source markup of XML file input. An attacker who successfully exploited the vulnerability could run arbitrary code in the context of the process responsible for deserialization of the XML content. To exploit this vulnerability, an attacker could upload a specially crafted document to a server utilizing an affected product to process content. The security update addresses the vulnerability by correcting how .NET Framework validates the source markup of XML content.

This security update affects how .NET Framework's System.Data.DataTable and System.Data.DataSet types read XML-serialized data. Most .NET Framework applications will not experience any behavioral change after the update is installed. For more information on how the update affects .NET Framework, including examples of scenarios which may be affected, please see the DataTable and DataSet security guidance document at

To learn more about the vulnerabilities, go to the following Common Vulnerabilities and Exposures (CVE).

Known Issues


After you apply this update, some applications experience a TypeInitializationException exception when they try to deserialize System.Data.DataSet or System.Data.DataTable instances from the XML within a SQL CLR stored procedure. The stack trace for this exception appears as follows:

System.TypeInitializationException: The type initializer for 'Scope' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Drawing, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
     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)


Install the latest version of this update that was released on October 13th, 2020.


Additional information about this update

The following articles contain additional information about this update as it relates to individual product versions.
  • 4565578 Description of the Security Only Update for .NET Framework 2.0, 3.0 for Windows Server 2008 SP2 (KB4565578)
  • 4565583 Description of the Security Only Update for .NET Framework 4.5.2 for Windows 7 SP1 and Windows Server 2008 R2 SP1 and Windows Server 2008 SP2 (KB4565583)
  • 4565586 Description of the Security Only Update for .NET Framework 4.6 for Windows 7 SP1 and Windows Server 2008 R2 SP1 and Windows Server 2008 SP2 (KB4565586)

Information about protection and security