Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

View products that this article applies to.

Summary

This security update for the Microsoft .NET Framework resolves a security feature bypass vulnerability in which the .NET Framework (and the .NET Core) components don't completely validate certificates. To learn more about this vulnerability, see Microsoft Common Vulnerabilities and Exposures CVE-2017-0248.

This update also contains security-enhancing fixes to the Windows Presentation Framework PackageDigitalSignatureManager component's ability to sign packages with the SHA256 hash algorithm.

Important

  • All security and nonsecurity 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.

Additional information about this security update

Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

  • 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 in place of the basic purposes that are indicated in the key usage extension. For example, a certificate that’s used for the authentication of a client to a server must be configured for Client Authentication. Similarly, a certificate that’s used for the authentication of a server must be configured for Server Authentication.

    When certificates are used for authentication, the authenticator examines the client certificate and seeks the correct purpose object identifier in Application Policies extensions. For example, the object identifier for Client Authentication is 1.3.6.1.5.5.7.3.2. When a certificate is used for client authentication, this object identifier must be present in the EKU extensions of the certificate or authentication fails. Certificates that have no EKU extension continue to authenticate correctly.

    If you temporarily can’t access correctly reissued certificates, you can choose to opt in or out of the security change across all computer operations to avoid any connectivity effects. To do this, specify the following registry key settings, depending on which .NET Framework version your application is targeting.

    Method 1: Updating registry key (available for all versions)

    Note This registry entry must be a DWORD entry.

    • For 32-bit process on 32-bit system and 64-bit process on 64-bit system:

      HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v2.0.50727@RequireCertificateEKUs=0

    • For 32-bit process on 64-bit system:

      HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\.NETFramework\v2.0.50727@RequireCertificateEKUs=0

    You can also opt out on a per-application basis. The following options are available for disabling this change to make sure that application compatibility is maintained.

    Method 2: Disable the policy for individual applications

    Note This registry entry must be a DWORD entry. The only valid value is 0. Any other value is ignored.

    • For 32-bit process on 32-bit system and 64-bit process on 64-bit system:

      HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v2.0.50727@System.Net.ServicePointManager.RequireCertificateEKUs
      S:\Prj\console_pg\console_pg45\bin\Release\console_pg45.exe=0
      C:\MyApp\MyApp.exe=0

    • For 32-bit process on 64-bit system:

      HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\.NETFramework\v2.0.50727@System.Net.ServicePointManager.RequireCertificateEKUs
      S:\Prj\console_pg\console_pg45\bin\Release\console_pg45.exe=0
      C:\MyApp\MyApp.exe=0

    Method 3: Using configuration API (available for the .NET Framework 4.6 and later versions)

    Starting in the .NET Framework 4.6, you can change the configuration at an application level through code, an application configuration, or registry changes.

    Configuring the switch in the .NET Framework 4.6

    Note The following examples disable the security feature.

    • Programmatically

      The first thing that the application should do is to run the following code. This is because Service Point Manager initializes only one time.
        private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching"; private const string DontCheckCertificateEKUsName= @"Switch.System.Net.DontCheckCertificateEKUs"; AppContext.SetSwitch(DisableCachingName, true); AppContext.SetSwitch(DontCheckCertificateEKUsName, true);

    • Application configuration

      To change the application configuration, add the following entry:
        <runtime> <AppContextSwitchOverrides value="Switch.System.Net.DontCheckCertificateEKUsName=true"/> </runtime>

    • Registry key (machine global):

      Registry location: HKEY_LOCAL_MACHINE\Software\[Wow6432Node\]Microsoft\.NETFramework\AppContext\Switch.System.Net.DontCheckCertificateEKUsName

      Type: String
      Value: "true"

    Note By default, Switch.System.Net.DontCheckCertificateEKUsName = True for all .NET Framework 4.x applications that are running on the .NET Framework 4.6 and later versions.

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

    4019114 Security and Quality Rollup for the .NET Framework 3.5 Service Pack 1, 4.5.2, 4.6, 4.6.1, and 4.6.2 updates for Windows 8.1 and Windows Server 2012 R2: May 9, 2017

How to obtain and install the update

Method 1: Windows Update

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

Method 2: 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. Once the control is installed, you will see the Microsoft Update Catalog screen. Enter 4019114 in 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. When you have selected all the packages that you need, click View Basket.

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

  9. Click 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:

20170509 Security update deployment information: May 9, 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 does not replace any previously released update.

File information

Package Name

Package Hash SHA 1

Package Hash SHA 2

Windows8.1-KB4014505-x64.msu

A1E0E10AD5BF51A1E510D290828502D7C08299F2

C409A3800C1AF4202C295B94AD104FD92CC12E4D6E75482D89B1327E11E2FD02

Windows8.1-KB4014505-x86.msu

22DD8E92B06B82B1B208BCC6D7F63637CDAD06D1

343DD70D3E9FEECFE73FC7197BB39724D6F7ED8DDBB4D65956F46710CD13CCB4


The English (United States) version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the 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 the times may change when you perform certain operations on the files.

For all x86-based systems

File name

File version

File size

Date

Time

presentationframework.dll

3.0.6920.8773

5,283,840

30-Mar-2017

13:15

reachframework.dll

3.0.6920.8773

532,480

30-Mar-2017

13:15

system.management.dll

2.0.50727.8758

389,120

21-Mar-2017

13:11

system.security.dll

2.0.50727.8759

270,336

30-Mar-2017

13:14

system.dll

2.0.50727.8759

3,203,072

30-Mar-2017

13:14

windowsbase.dll

3.0.6920.8773

1,257,472

30-Mar-2017

13:15

big5.nlp

66,728

20-Aug-2015

13:29

bopomofo.nlp

82,172

20-Aug-2015

13:29

ksc.nlp

116,756

20-Aug-2015

13:29

mscorlib.dll

2.0.50727.8669

4,554,752

30-Mar-2017

13:14

normidna.nlp

59,342

20-Aug-2015

13:30

normnfc.nlp

45,794

20-Aug-2015

13:30

normnfd.nlp

39,284

20-Aug-2015

13:30

normnfkc.nlp

66,384

20-Aug-2015

13:30

normnfkd.nlp

60,294

20-Aug-2015

13:30

prc.nlp

83,748

20-Aug-2015

13:30

prcp.nlp

83,748

20-Aug-2015

13:30

sortkey.nlp

262,148

20-Aug-2015

13:30

sorttbls.nlp

20,320

20-Aug-2015

13:30

xjis.nlp

28,288

20-Aug-2015

13:31

mscordacwks.dll

2.0.50727.8669

990,360

30-Mar-2017

13:14

mscorwks.dll

2.0.50727.8669

5,947,440

30-Mar-2017

13:14

sos.dll

2.0.50727.8669

391,208

30-Mar-2017

13:14

wminet_utils.dll

2.0.50727.8758

116,896

21-Mar-2017

13:11

presentationcore.dll

3.0.6920.8773

4,222,976

30-Mar-2017

13:15

presentationfontcache.exe.config

161

20-Aug-2015

13:24

wpfgfx_v0300.dll

3.0.6920.8773

1,737,888

30-Mar-2017

13:15

system.data.dll

2.0.50727.8751

2,975,744

01-Dec-2016

14:11

system.printing.dll

3.0.6920.8773

372,736

30-Mar-2017

13:15

penimc.dll

3.0.6920.8773

68,752

30-Mar-2017

13:15

presentationframework.dll

3.0.6920.8773

5,283,840

30-Mar-2017

13:15

presentationhostdll.dll

3.0.6920.8773

131,248

30-Mar-2017

13:15

reachframework.dll

3.0.6920.8773

532,480

30-Mar-2017

13:15

windowsbase.dll

3.0.6920.8773

1,257,472

30-Mar-2017

13:15

For all x64-based systems

File name

File version

File size

Date

Time

big5.nlp

66,728

22-Aug-2015

13:20

bopomofo.nlp

82,172

22-Aug-2015

13:20

ksc.nlp

116,756

22-Aug-2015

13:20

mscorlib.dll

2.0.50727.8669

4,571,136

30-Mar-2017

13:15

normidna.nlp

59,342

22-Aug-2015

13:20

normnfc.nlp

45,794

22-Aug-2015

13:20

normnfd.nlp

39,284

22-Aug-2015

13:20

normnfkc.nlp

66,384

22-Aug-2015

13:20

normnfkd.nlp

60,294

22-Aug-2015

13:20

prc.nlp

83,748

22-Aug-2015

13:20

prcp.nlp

83,748

22-Aug-2015

13:20

sortkey.nlp

262,148

22-Aug-2015

13:20

sorttbls.nlp

20,320

22-Aug-2015

13:20

xjis.nlp

28,288

22-Aug-2015

13:20

mscordacwks.dll

2.0.50727.8669

1,757,336

30-Mar-2017

13:15

mscorwks.dll

2.0.50727.8669

10,008,624

30-Mar-2017

13:15

sos.dll

2.0.50727.8669

486,024

30-Mar-2017

13:15

system.management.dll

2.0.50727.8758

389,120

21-Mar-2017

13:11

system.security.dll

2.0.50727.8759

270,336

30-Mar-2017

13:15

system.dll

2.0.50727.8759

3,203,072

30-Mar-2017

13:15

wminet_utils.dll

2.0.50727.8758

140,960

21-Mar-2017

13:11

presentationcore.dll

3.0.6920.8773

4,006,400

30-Mar-2017

13:15

presentationfontcache.exe.config

161

22-Aug-2015

13:27

wpfgfx_v0300.dll

3.0.6920.8773

2,256,032

30-Mar-2017

13:15

system.data.dll

2.0.50727.8751

3,150,336

01-Dec-2016

14:13

system.printing.dll

3.0.6920.8773

358,400

30-Mar-2017

13:15

penimc.dll

3.0.6920.8773

85,648

30-Mar-2017

13:15

presentationframework.dll

3.0.6920.8773

4,640,768

30-Mar-2017

13:15

presentationhostdll.dll

3.0.6920.8773

172,208

30-Mar-2017

13:15

reachframework.dll

3.0.6920.8773

532,480

30-Mar-2017

13:15

windowsbase.dll

3.0.6920.8773

1,118,208

30-Mar-2017

13:15

presentationframework.dll

3.0.6920.8773

5,283,840

30-Mar-2017

13:15

reachframework.dll

3.0.6920.8773

532,480

30-Mar-2017

13:15

system.management.dll

2.0.50727.8758

389,120

21-Mar-2017

13:11

system.security.dll

2.0.50727.8759

270,336

30-Mar-2017

13:14

system.dll

2.0.50727.8759

3,203,072

30-Mar-2017

13:14

windowsbase.dll

3.0.6920.8773

1,257,472

30-Mar-2017

13:15

big5.nlp

66,728

20-Aug-2015

13:29

bopomofo.nlp

82,172

20-Aug-2015

13:29

ksc.nlp

116,756

20-Aug-2015

13:29

mscorlib.dll

2.0.50727.8669

4,554,752

30-Mar-2017

13:14

normidna.nlp

59,342

20-Aug-2015

13:30

normnfc.nlp

45,794

20-Aug-2015

13:30

normnfd.nlp

39,284

20-Aug-2015

13:30

normnfkc.nlp

66,384

20-Aug-2015

13:30

normnfkd.nlp

60,294

20-Aug-2015

13:30

prc.nlp

83,748

20-Aug-2015

13:30

prcp.nlp

83,748

20-Aug-2015

13:30

sortkey.nlp

262,148

20-Aug-2015

13:30

sorttbls.nlp

20,320

20-Aug-2015

13:30

xjis.nlp

28,288

20-Aug-2015

13:31

mscordacwks.dll

2.0.50727.8669

990,360

30-Mar-2017

13:14

mscorwks.dll

2.0.50727.8669

5,947,440

30-Mar-2017

13:14

sos.dll

2.0.50727.8669

391,208

30-Mar-2017

13:14

wminet_utils.dll

2.0.50727.8758

116,896

21-Mar-2017

13:11

presentationcore.dll

3.0.6920.8773

4,222,976

30-Mar-2017

13:15

presentationfontcache.exe.config

161

20-Aug-2015

13:24

wpfgfx_v0300.dll

3.0.6920.8773

1,737,888

30-Mar-2017

13:15

system.data.dll

2.0.50727.8751

2,975,744

01-Dec-2016

14:11

system.printing.dll

3.0.6920.8773

372,736

30-Mar-2017

13:15

penimc.dll

3.0.6920.8773

68,752

30-Mar-2017

13:15

presentationframework.dll

3.0.6920.8773

5,283,840

30-Mar-2017

13:15

presentationhostdll.dll

3.0.6920.8773

131,248

30-Mar-2017

13:15

reachframework.dll

3.0.6920.8773

532,480

30-Mar-2017

13:15

windowsbase.dll

3.0.6920.8773

1,257,472

30-Mar-2017

13:15

 

How to obtain help and support for this security update

Applies to

This article applies to the following:

  • Microsoft .NET Framework 3.5 Service Pack 1 when used with:

    • Windows Server 2012 R2

    • Windows 8.1

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.

Was this information helpful?

What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×