Security and Quality Rollup for .NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 for Windows 7 SP1 and Windows Server 2008 R2 SP1 and Windows Server 2008 SP2 (KB4552919)

Applies to: .NET Framework

Summary


A remote code execution vulnerability exists in .NET Framework software when the software fails to check the source markup of a file. An attacker who successfully exploited the vulnerability could run arbitrary code in the context of the current user. If the current user is logged on with administrative user rights, an attacker could take control of the affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights. Exploitation of the vulnerability requires that a user open a specially crafted file with an affected version of .NET Framework. In an email attack scenario, an attacker could exploit the vulnerability by sending the specially crafted file to the user and convincing the user to open the file. The security update addresses the vulnerability by correcting how .NET Framework checks the source markup of a file.

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

A denial of service vulnerability exists when .NET Framework improperly handles web requests. An attacker who successfully exploited this vulnerability could cause a denial of service against a .NET Framework web application. The vulnerability can be exploited remotely, without authentication. A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the .NET Framework application. The update addresses the vulnerability by correcting how the .NET Framework web application handles web requests.

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

Quality and reliability improvements

CLR1

- The PAUSE instruction latency increased dramatically on the Intel Skylake processor (documented in "Section 2.2.4 Pause Latency in Skylake Microarchitecture" of the Intel 64 and IA-32 Architectures Optimization Reference Manual) ”. As such places in the runtime that call YieldProcessor (which translates to this instruction) in a loop needed to adjust the number of iterations to call it. GC now takes a scale factor (provided by testing how long the instruction takes and scaling it down) and uses that to adjust the number of iterations so the total time approximates what happened on previous processors. A common symptom is in Server GC where GC spends a much larger percentage in CPU time in clr!SVR::t_join::join and with the fix you should see the time go down to the previous percentage.

- Addresses rare crashes that could occur if Server GC is enabled and a GC occurs while another thread is running NGen'ed code which is making the initial call into NGen'ed code in a 2nd module where one or more parameter types involve valuetypes defined in a 3rd module.

- Addresses crashes that could occur in some configurations involving either hot-added CPUs or multi-group machines where per-group CPU count is not consistent across all groups.

- Addresses rare crashes or deadlocks that could occur if a GC occurs while another thread is running NGen'ed code which is making the initial call into a static method within the same module where one or more parameter types involve type-forwarded valuetypes.

- Addresses rare crashes that could occur during the first call that native code makes into the managed portion of a mixed-mode DLL.


1 Common Language Runtime (CLR)

Additional information about this update


The following articles contain additional information about this update as it relates to individual product versions.
  • 4556402 Description of the Security and Quality Rollup for .NET Framework 2.0, 3.0, 4.5.2, 4.6 for Windows Server 2008 SP2 (KB4556402)
  • 4556399 Description of the Security and Quality Rollup for .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 for Windows 7 SP1 and Windows Server 2008 R2 SP1 (KB4556399)

How to obtain and install the update


Before installing this update

Prerequisite:

To apply this update, you must have .NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 installed.

You must install the updates listed below and restart your device before installing the latest Rollup. Installing these updates improves the reliability of the update process and mitigates potential issues while installing the Rollup and applying Microsoft security fixes.

  1. The March 12, 2019 servicing stack update (SSU) (KB4490628). To get the standalone package for this SSU, search for it in the Microsoft Update Catalog. This update is required to install updates that are only SHA-2 signed.
  2. The latest SHA-2 update (KB4474419) released September 10, 2019. If you are using Windows Update, the latest SHA-2 update will be offered to you automatically. This update is required to install updates that are only SHA-2 signed. For more information on SHA-2 updates, see 2019 SHA-2 Code Signing Support requirement for Windows and WSUS.
  3. The Extended Security Updates (ESU) Licensing Preparation Package (KB4538483) released February 11, 2020. The ESU licensing preparation package will be offered to you from WSUS. To get the standalone package for ESU licensing preparation package, search for it in the Microsoft Update Catalog.

Install this update

Release Channel Available Next Step
Windows Update and Microsoft Update Yes None. This update will be downloaded and installed automatically from Windows Update if you are an ESU customer.
Microsoft Update Catalog Yes To get the standalone package for this update, go to the Microsoft Update Catalog website.
Windows Server Update Services (WSUS) Yes

This update will automatically sync with WSUS if you configure Products and Classifications as follows:

Product: Windows 7 Service Pack 1, Windows Server 2008 R2 Service Pack 1,Windows Embedded Standard 7 Service Pack 1, Windows Embedded POSReady 7

Classification: Security Updates

Restart requirement

You must restart the computer after you apply this update if any affected files are being used. We recommend that you exit all .NET Framework-based applications before you apply this update.

Update deployment information

For deployment details for this security update, go to the following article in the Microsoft Knowledge Base:

20200512 Security update deployment information: May 12, 2020

Update removal information

Note We do not recommend that you remove any security update. To remove this update, use the Programs and Features item in Control Panel.

Update restart information

This update does not require a system restart after you apply it unless files that are being updated are locked or are being used.

Update replacement information

This update replaces previously released updates 4533098 and 4535105 for Windows Server 2008 SP2, and 4533095 and 4535102 for Windows 7 SP1 and Windows Server 2008 R2 SP1.

File information


The English (United States) version of this software update installs files that have the attributes that are listed in the following tables.

Information about protection and security