Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Description of the Security and Quality Rollup for the .NET Framework 4.6, 4.6.1, 4.6.2 and 4.7 for Windows 8.1, Windows RT 8.1 and Windows Server 2012 R2: September 12, 2017

View products that this article applies to.


This security update resolves a vulnerability in the Microsoft .NET Framework that could allow remote code execution when Microsoft .NET Framework processes untrusted input. An attacker who successfully exploits this vulnerability in software by using the .NET Framework could take control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts that have full user rights. Users whose accounts are configured to have fewer user rights on the system could be less affected than users who operate by using administrative user rights.

To exploit the vulnerability, an attacker must first convince the user to open a malicious document or application.

This security update addresses the vulnerability by correcting how the .NET Framework validates untrusted input. To learn more about this vulnerability, see Microsoft Common Vulnerabilities and Exposures CVE-2017-8759.

↑ Back to the top


  • All updates for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 require update 2919355 to be installed. We recommend that you install update 2919355 on your Windows RT 8.1-based, Windows 8.1-based, or Windows Server 2012 R2-based computer so that you receive updates in the future.
  • If you install a language pack after you install this update, you must reinstall this update. Therefore, we recommend that you install any language packs that you need before you install this update. For more information, see Add language packs to Windows.

↑ Back to the top

Quality and reliability fixes


  • A fix that is included in the May Monthly Security and Quality Rollup is being changed to improve the performance of network latency about Active Directory lookups for the enhanced key usage (EKU) object identifiers (OIDs) function that is used in TLS (Transport Layer Security) and SSL (Secure Sockets Layer) certificates.


  • Under certain circumstances, Windows Presentation Framework (WPF) applications (particularly Visual Studio) are observed to consume disproportionate amount of CPU cycles in relation to their actual workload. Frequently, these applications eventually crash. This problem is seen in WPF applications that are left running in a locked logon session, or that are left running in a disconnected Terminal Services session.


  • Under certain circumstances, the JIT compiler can perform an incorrect common subexpression elimination (CSE) optimization that causes an incorrect value to be computed. 
  • For certain XslCompiledTransform objects, the JIT compiler can perform an incorrect tail call optimization.
  • When you run certain large server workloads, the JIT compiler can cause an access violation and early termination of the common language runtime (CLR).


  • If Windows Forms controls are anchored to the right edge (a nondefault anchor style value) in a PerMonitor DPI-aware application, anchoring distance is scaled incorrectly on each scaling pass. You may observe that controls are moving toward the right edge of the window on each scaling pass and eventually disappear, or that controls are stretched incorrectly.

.NET Framework

  • Applications that run on the .NET Framework do not respect the settings that are specified in the registry for AppContext switches. Regardless of the registry option setting for an AppContext flag, the application behaves as if the specified value is set to "false."

Known issues in this update

  • After you install the September 12, 2017, .NET Security and Quality Rollups that apply to the .NET Framework 4.6, 4.6.1, 4.6.2, and 4.7, you experience rendering issues in Windows Presentation Foundation (WPF) applications that use WPF types in a Windows service. For more information, see KB 4043601.

↑ Back to the top

Additional information about this security update

For more information about this security update as it relates to Windows 8.1, Windows RT 8.1 and Windows Server 2012 R2, see the following article in the Microsoft Knowledge Base:

4041085 Security and Quality Rollup for the .NET Framework 3.5, 4.5.2, 4.6, 4.6.1, 4.6.2 and 4.7 updates for Windows 8.1. Windows RT 8.1 and Windows Server 2012 R2: September 12, 2017

↑ Back to the top

How to obtain and install the update

Method 1: Windows Update

This update is available through Windows Update. If automatic updating is turned on, this update is downloaded and installed automatically. For more information about how to get security updates automatically, see Windows Update: FAQ.

Method 2: Microsoft Update Catalog

To get the stand-alone package for this update, go to the Microsoft Update Catalog.

Method 3: Windows Software Update Services (WSUS)

On your WSUS server, follow these steps:

  1. Click Start, click Administrative Tools, and then click Microsoft Windows Server Update Services 3.0.
  2. Expand ComputerName, and then click Action.
  3. Click Import Updates.
  4. WSUS will open a browser window in which you may be prompted to install an ActiveX control. You must install the ActiveX control to continue.
  5. After the control is installed, you see the Microsoft Update Catalog screen. Enter 4041085 into the Search box, and then click Search.
  6. Locate the .NET Framework packages that match the operating systems, languages, and processors in your environment. Click Add to add them to your basket.
  7. After you select all the packages that you need, click View Basket.
  8. Click Import to import the packages to your WSUS server.
  9. To return to WSUS, click Close after the packages have been imported.

The updates are now available for installation through WSUS.

↑ Back to the top

Update deployment information

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

20170912 Security update deployment information: September 12, 2017

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 updates 4019114, 4035038, 4014983, and 4032115.

↑ Back to the top

File information

File hash
Package Name Package Hash SHA 1 Package Hash SHA 2
Windows8.1-KB4040972-x86.msu 5FEAEF9EF929CECCB2DC450B0675EA31F37FF998 18C0CFCC9247D282DB1B99E5B648BB89B81F172903C87AD4DADD661AF8FCD949
Windows8.1-KB4040972-x64.msu 5AB17D824FFDDB74360FB95E1D5567484CF6BE40 16305EFFEC851BE749E670DA1A871BF2EC5E13EBAC6E782250BFEF46872D91DD
Windows8.1-KB4040972-arm.msu 876638CA7BD6FE37F8C044C1AF7B28228C2EB04A 2AFF4459B96D6841F04ADBCF014F3C1B2F2F347DF8C997068A1AD32A3B0D792A



↑ Back to the top

How to obtain help and support for this security update

↑ Back to the top

Applies to

This article applies to the following:
  • Microsoft .NET Framework 4.6, 4.6.1, 4.6.2, and 4.7 when used with:
    • Windows Server 2012 R2
    • Windows RT 8.1
    • Windows 8.1

↑ Back to the top

Keywords: kbsurveynew, kbsecvulnerability, kbsecurity, kbsecreview, kbsecbulletin, kbfix, kblangall, kbexpertiseinter, kbbug, atdownload, kb, kbmustloc

↑ Back to the top

Article Info
Article ID : 4040972
Revision : 24
Created on : 10/17/2017
Published on : 10/17/2017
Exists online : False
Views : 356