Applies To.NET Framework 4.7.1 .NET Framework 4.7 .NET Framework 4.6 .NET Framework 4.6.1 .NET Framework 4.6.2

View products that this article applies to.

Summary

This security update resolves a security feature bypass vulnerability that exists when Microsoft .NET Framework and .NET Core components do not completely validate certificates. This security update addresses the vulnerability by helping to make sure that .NET Framework and .NET Core components completely validate certificates. To learn more about this vulnerability, see Microsoft Common Vulnerabilities and Exposures CVE-2018-0786.

Additionally, this security update resolves a Denial of Service vulnerability that exists when .NET Framework and .NET core components improperly process XML documents. This update addresses the vulnerability by correcting how .NET Framework and .NET Core component applications handle XML document processing. To learn more about this vulnerability, see Microsoft Common Vulnerabilities and Exposures CVE-2018-0764.

Important

  • All updates for .NET Framework 4.6, 4.6.1, 4.6.2, 4.7, and 4.7.1 require that the d3dcompiler_47.dll be installed. We recommend that you install the included d3dcompiler_47.dll before you apply this update. For more information about the d3dcompiler_47.dll, see KB 4019990.

  • 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.

Additional information about this security update

  • Enhanced Key Usage (EKU) is described in RFC 5280 in section 4.2.1.12. This extension indicates one or more purposes for which the certified public key may be used, in addition to or instead of the basic purposes that are indicated in the key usage extension. For example, a certificate that is used for the authentication of a client to a server must be configured for Client Authentication. Similarly, a certificate that is used for the authentication of a server must be configured for Server Authentication. With this change, besides requiring the appropriate client/server EKU on certificates, if the root certificate is disabled, the certificate chain validation will fail. When certificates are used for authentication, the authenticator examines the certificate that is provided by the remote endpoint and seeks the correct purpose object identifier in Application Policies extensions. When a certificate is used for client authentication, the object identifier for Client Authentication must be present in the EKU extensions of the certificate, or authentication fails. The object identifier for Client Authentication is 1.3.6.1.5.5.7.3.2. Likewise, when a certificate is used for server authentication, the object identifier for Server Authentication must be present in the EKU extensions of the certificate, or authentication fails. The object identifier for Server Authentication is 1.3.6.1.5.5.7.3.1. Certificates that have no EKU extension continue to authenticate correctly. First, consider making changes to your component’s certificates to make sure that they are using the correct EKU OID attributes and are secured correctly. If you temporarily cannot access correctly reissued certificates, you can choose to opt in or out of the security change to avoid any connectivity effects. To do this, specify the following appsetting in the configuration file:

    <appSettings>
        <add key="wcf:useLegacyCertificateUsagePolicy" value="true" />
    </appSettings>

    Note Setting the value to “true” will opt out of the security changes.

  • For more information about this security update as it relates to Windows 7 Service Pack 1 (SP1) and Windows Server 2008 R2 SP1, see the following article in the Microsoft Knowledge Base:

    4055269 Security Only update for .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, and 4.7.1 updates for Windows 7 SP1 and Windows Server 2008 R2 SP1 (KB 4055269)

  • For more information about this security update as it relates to Windows Server 2008 SP2, see the following article in the Microsoft Knowledge Base:

    4055272 Security Only update for .NET Framework 2.0 SP2, 3.0 SP2, 4.5.2, and 4.6 updates for Windows Server 2008 SP2 (KB 4055272)

How to obtain and install the update

Method 1: Microsoft Update Catalog

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

Method 2: Windows Software Update Services (WSUS)

On your WSUS server, follow these steps:

  1. Select Start, select Administrative Tools, and then select Microsoft Windows Server Update Services 3.0.

  2. Expand ComputerName, and then select Action.

  3. Select Import Updates.

  4. WSUS will open a browser window in which you may be prompted to install an ActiveX control. Install the ActiveX control to continue.

  5. Once the control is installed, you will see the Microsoft Update Catalog screen. Enter 4055269 for Windows 7 SP1 and Windows Server 2008 R2 SP1 or 4055272 for Windows Server 2008 SP2 in the Search box, and then select Search.

  6. Locate the .NET Framework packages that match the operating systems, languages, and processors in your environment. Select Add to add them to your basket.

  7. When you have selected all the packages you need, select View Basket.

  8. Select Import to import the packages to your WSUS server.

  9. Select Close once the packages have been imported to return to WSUS.

The updates are now available for installation through WSUS.

Update deployment information

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

20180109 Security update deployment information: January 9, 2018

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 update KB 3122661.

 

File information

File hash

Package name

PackageHashSHA1

PackageHashSHA2

NDP47-KB4054183-x64.exe

A022AD5109B1208DFF502D1BE4477668B4FA258D

66B590CB35BDEAE67DF283B6D060A98EF516772D2EBB3C153FE28391499B1F5E

NDP47-KB4054183-x86.exe

301CB3D6591B572786C8349C12A28E5EC5D2D334

4CCB160A0B006DC014D78B7C41BB5126AB0749FE2D780AF0FF5E6F618D89D6A5

File attributes

The English (United States) version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and times for these files are listed in Coordinated Universal Time (UTC). The dates and times for these files on your local computer are displayed in your local time together with your current daylight-saving time (DST) bias. Additionally, the dates and times may change when you perform certain operations on the files.

For all x86-based systems

File name

File version

File size

Date

Time

msvcp120_clr0400.dll

12.0.52519.0

485,576

16-Dec-2017

02:40

msvcr120_clr0400.dll

12.0.52519.0

987,840

16-Dec-2017

02:40

ServiceMonikerSupport.dll

4.7.2612.0

29,376

16-Dec-2017

02:40

SMDiagnostics.dll

4.7.2612.0

73,376

16-Dec-2017

02:40

System.Activities.dll

4.7.2612.0

1,532,600

16-Dec-2017

02:40

System.IdentityModel.dll

4.7.2612.0

1,088,720

16-Dec-2017

02:40

System.IdentityModel.Services.dll

4.7.2612.0

198,368

16-Dec-2017

02:40

System.Runtime.Serialization.dll

4.7.2612.0

1,054,464

16-Dec-2017

02:40

System.ServiceModel.Channels.dll

4.7.2612.0

157,920

16-Dec-2017

02:40

System.ServiceModel.Discovery.dll

4.7.2612.0

308,448

16-Dec-2017

02:40

System.ServiceModel.dll

4.7.2612.0

6,315,712

16-Dec-2017

02:40

System.ServiceModel.Internals.dll

4.7.2612.0

253,696

16-Dec-2017

02:40

System.ServiceModel.WasHosting.dll

4.7.2612.0

39,656

16-Dec-2017

02:40

System.Data.SqlXml.dll

4.7.2612.0

734,400

16-Dec-2017

02:40

System.Xml.dll

4.7.2612.0

2,670,224

16-Dec-2017

02:40

For all x64-based systems

File name

File version

File size

Date

Time

msvcp120_clr0400.dll

12.0.52519.0

690,008

16-Dec-2017

02:55

msvcp120_clr0400.dll

12.0.52519.0

485,576

16-Dec-2017

02:40

msvcr120_clr0400.dll

12.0.52519.0

993,632

16-Dec-2017

02:55

msvcr120_clr0400.dll

12.0.52519.0

987,840

16-Dec-2017

02:40

ServiceMonikerSupport.dll

4.7.2612.0

31,424

16-Dec-2017

02:55

ServiceMonikerSupport.dll

4.7.2612.0

29,376

16-Dec-2017

02:40

SMDiagnostics.dll

4.7.2612.0

73,376

16-Dec-2017

02:40

System.Activities.dll

4.7.2612.0

1,532,600

16-Dec-2017

02:40

System.IdentityModel.dll

4.7.2612.0

1,088,720

16-Dec-2017

02:40

System.IdentityModel.Services.dll

4.7.2612.0

198,368

16-Dec-2017

02:40

System.Runtime.Serialization.dll

4.7.2612.0

1,054,464

16-Dec-2017

02:40

System.ServiceModel.Channels.dll

4.7.2612.0

157,920

16-Dec-2017

02:40

System.ServiceModel.Discovery.dll

4.7.2612.0

308,448

16-Dec-2017

02:40

System.ServiceModel.dll

4.7.2612.0

6,315,712

16-Dec-2017

02:40

System.ServiceModel.Internals.dll

4.7.2612.0

253,696

16-Dec-2017

02:40

System.ServiceModel.WasHosting.dll

4.7.2612.0

39,656

16-Dec-2017

02:40

System.Data.SqlXml.dll

4.7.2612.0

734,400

16-Dec-2017

02:40

System.XML.dll

4.7.2612.0

2,670,224

16-Dec-2017

02:40

How to obtain help and support for this security update

Applies to

This article applies to the following:

  • Microsoft .NET Framework 4.6, 4.6.1, 4.6.2, 4.7 and 4.7.1 when used with:

    • Windows Server 2008 R2 Service Pack 1

    • Windows 7 Service Pack 1

  • Microsoft .NET Framework 4.6 when used with:

    • Windows Server 2008 Service Pack 2

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.