MS16-101: Description of the security update for Windows authentication methods: August 9, 2016

Notice
Important This article contains information that shows you how to help lower security settings or how to turn off security features on a computer. You can make these changes to work around a specific problem. Before you make these changes, we recommend that you evaluate the risks that are associated with implementing this workaround in your particular environment. If you implement this workaround, take any appropriate additional steps to help protect the computer.
Summary
This security update resolves multiple vulnerabilities in Microsoft Windows. The vulnerabilities could allow elevation of privilege if an attacker runs a specially crafted application on a domain-joined system.

To learn more about the vulnerability, see Microsoft Security Bulletin MS16-101.
More information
Important
  • All future security and non-security updates for Windows 8.1, and Windows Server 2012 R2 require update 2919355 to be installed. We recommend that you install update 2919355 on your Windows 8.1-based or Windows Server 2012 R2-based computer so that you receive future updates.
  • 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.

Non-security-related fixes that are included in this security update

This security update also fixes the following non-security-related issues:
  • In a Domain-joined Scale Out File Server (SoFS) on a domainless cluster, when an SMB client that is running either Windows 8.1 or Windows Server 2012 R2 connects to a node that is down, authentication fails. When this occurs, you may receive an error message that resembles the following message:

    STATUS_NO_TGT_REPLY

Known issues in this security update

  • Known issue 1

    The security updates that are provided in MS16-101 and newer updates disable the ability of the Negotiate process to fall back to NTLM when Kerberos authentication fails for password change operations with the STATUS_NO_LOGON_SERVERS (0xc000005e) error code. In this situation, you may receive one of the following error codes.

    HexadecimalDecimalSymbolicFriendly
    0xc00003881073740920STATUS_DOWNGRADE_DETECTEDThe system detected a possible attempt to compromise security. Please make sure that you can contact the server that authenticated you.
    0x4f11265ERROR_DOWNGRADE_DETECTEDThe system detected a possible attempt to compromise security. Please make sure that you can contact the server that authenticated you.


    Workaround

    If password changes that previously succeeded fail after the installation of MS16-101, it's likely that password changes were previously relying on NTLM fallback because Kerberos was failing. In order to change passwords successfully by using Kerberos protocols, follow these steps:

    1. Configure open communication on TCP port 464 between clients that have MS16-101 installed and the domain controller that is servicing password resets.

      Read-only domain controllers (RODCs) can service self-service password resets if the user is allowed by the RODCs password replication policy. Users who are not allowed by the RODC password policy require network connectivity to a read/write domain controller (RWDC) in the user account domain.

      Note To check whether TCP port 464 is open, follow these steps:

      1. Create an equivalent display filter for your network monitor parser. For example:
        ipv4.address== <ip address of client> && tcp.port==464
      2. In the results, look for the "TCP:[SynReTransmit" frame.

        Frame
    2. Make sure that the target Kerberos names are valid. (IP addresses are not valid for the Kerberos protocol. Kerberos supports short names and fully qualified domain names.)
    3. Make sure that service principal names (SPNs) are registered correctly.

      For more information, see Kerberos and Self-Service Password Reset.
  • Known issue 2

    We know about an issue in which programmatic password resets of domain user accounts fail and return the STATUS_DOWNGRADE_DETECTED (0x800704F1) error code if the expected failure is one of the following:

    • ERROR_INVALID_PASSWORD
    • ERROR_PWD_TOO_SHORT (rarely returned)
    • STATUS_WRONG_PASSWORD
    • STATUS_PASSWORD_RESTRICTION

    The following table shows the full error mapping.

    HexadecimalDecimalSymbolicFriendly
    0x5686ERROR_INVALID_PASSWORDThe specified network password is not correct.
    0x267615ERROR_PWD_TOO_SHORTThe password that was provided is too short to meet the policy of your user account. Please provide a longer password.
    0xc000006a-1073741718STATUS_WRONG_PASSWORDWhen you try to update a password, this return status indicates that the value that was provided as the current password is incorrect.
    0xc000006c-1073741716STATUS_PASSWORD_RESTRICTIONWhen you try to update a password, this return status indicates that some password update rule was violated. For example, the password may not meet the length criteria.
    0x800704F11265STATUS_DOWNGRADE_DETECTEDThe system cannot contact a domain controller to service the authentication request. Please try again later.
    0xc0000388-1073740920STATUS_DOWNGRADE_DETECTEDThe system cannot contact a domain controller to service the authentication request. Please try again later.


    Resolution

    MS16-101 has been re-released to address this issue. Install the latest version of the updates for this bulletin to resolve this issue.

  • Known issue 3

    We know about an issue in which programmatic resets of local user account password changes may fail and return the STATUS_DOWNGRADE_DETECTED (0x800704F1) error code.

    The following table shows the full error mapping.

    HexadecimalDecimalSymbolicFriendly
    0x4f11265ERROR_DOWNGRADE_DETECTEDThe system cannot contact a domain controller to service the authentication request. Please try again later.


    Resolution

    MS16-101 has been re-released to address this issue. Install the latest version of the updates for this bulletin to resolve this issue.

  • Known issue 4

    Passwords for disabled and locked-out user accounts cannot be changed using the negotiate package.

    Password changes for disabled and locked-out accounts will still work when using other methods such as when using an LDAP modify operation directly. For example, the PowerShell cmdlet Set-ADAccountPassword uses an "LDAP Modify" operation to change the password and remains unaffected.

    Workaround

    These accounts require an administrator to make password resets. This behavior is by design after you install MS16-101 and later fixes.

  • Known issue 5

    Applications that use the NetUserChangePassword API and that pass a servername in the domainname parameter will no longer work after MS16-101 and later updates are installed.

    Microsoft documentation states that providing a remote server name in the domainname parameter of the NetUserChangePassword function is supported. For example, the NetUserChangePassword function MSDN topic states the following:

    domainname [in]
    A pointer to a constant string that specifies the DNS or NetBIOS name of a remote server or domain on which the function is to execute. If this parameter is NULL, the logon domain of the caller is used.
    However, this guidance has been superseded by MS16-101, unless the password reset is for a local account on the local computer. Post MS16-101, in order for domain user password changes to work, you must pass a valid DNS Domain Name to the NetUserChangePassword API.
  • Known issue 6

    After you install this update, you may encounter 0xC0000022 NTLM authentication errors. To resolve this issue, see NTLM authentication fails with 0xC0000022 error for Windows Server 2012, Windows 8.1, and Windows Server 2012 R2 after update is applied.
  • Known issue 7

    After you install the security updates that are described in MS16-101, remote, programmatic changes of a local user account password, and password changes across untrusted forest fail.

    This operation fails because the operation relies on NTLM fall-back which is no longer supported for nonlocal accounts after MS16-101 is installed.

    A registry entry is provided that you can use to disable this change.

    Warning This workaround may make a computer or a network more vulnerable to attack by malicious users or by malicious software such as viruses. We do not recommend this workaround but are providing this information so that you can implement this workaround at your own discretion. Use this workaround at your own risk.

    ImportantThis section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
    322756How to back up and restore the registry in Windows


    To disable this change, set the NegoAllowNtlmPwdChangeFallback DWORD entry to use a value of 1 (one).

    Important Setting the NegoAllowNtlmPwdChangeFallback registry entry to a value of 1 will disable this security fix:
    Registry valueDescription
    0 Default value. Fallback is prevented.
    1Fallback is always allowed. The security fix is turned off. Customers that are having issues with remote local accounts or untrusted forest scenarios can set the registry to this value.
    To add these registry values, follow these steps:
    1. Click Start, click Run, type regedit in the Open box, and then click OK.
    2. Locate and then click the following subkey in the registry:
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa
    3. On the Edit menu, point to New, and then click DWORD Value.
    4. Type NegoAllowNtlmPwdChangeFallback for the name of the DWORD, and then press ENTER.
    5. Right-click NegoAllowNtlmPwdChangeFallback, and then click Modify.
    6. In the Value data box, type 1 to disable this change, and then click OK.

      Note To restore the default value, type 0 (zero), and then click OK.
    Status

    The root cause of this issue is understood. This article will be updated with additional details as they become available.
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 turn on automatic updating, seeGet security updates automatically.

Method 2: Microsoft Update Catalog

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

Method 3: Microsoft Download Center

You can obtain the stand-alone update package through the Microsoft Download Center. Follow the installation instructions on the download page to install the update.

Click the download link in Microsoft Security Bulletin MS16-101 that corresponds to the version of Windows that you are running.
More information

How to obtain help and support for this security update

Help for installing updates: Support for Microsoft Update

Security solutions for IT professionals: TechNet Security Troubleshooting and Support

Help for protecting your Windows-based computer from viruses and malware: Virus Solution and Security Center

Local support according to your country: International Support
File Information

File hash information

File nameSHA1 hashSHA256 hash
Windows6.0-KB3167679-v2-ia64.msuF3E96631261EEC8CC532D17116185D82B8C5EC7F97FEB0CF0AEF4E098689FD05E86E94876C4051943983458F250E114107944DAE
Windows6.0-KB3167679-v2-x86.msuAF2B19E84D0E58C9EF4243F9BCEE6AF6642737F02F97DD85E073A5A9A6F32C6CF7DA98F7CEB6F13BBBFF992E612FCD6DE828CE00
Windows6.0-KB3167679-v2-x64.msu17FAEE7E981AB717C566360F7B7FE173C201D4DB9B81F7193CE5D66B9609CA09A690F98AFC96B2A928783788BDBDBC58D41861D4

File information

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

Windows Vista and Windows Server 2008 file information

Notes
  • The files that apply to a specific product, milestone (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table:
    Version Product Milestone Service branch
    6.0.600 2.19xxxWindows Vista or Windows Server 2008SP2GDR
    6.0.600 2.23xxxWindows Vista or Windows Server 2008SP2LDR
  • GDR service branches contain only those fixes that are widely released to address widespread, critical issues. LDR service branches contain hotfixes in addition to widely released fixes.
  • The MANIFEST files (.manifest) and MUM files (.mum) that are installed are not listed.
For all supported ia64-based versions
File nameFile versionFile sizeDateTimePlatform
Adsmsext.dll6.0.6002.19693218,62410-Sep-201616:21IA-64
Adsmsext.dll6.0.6002.24017218,62409-Sep-201615:10IA-64
Advapi32.dll6.0.6002.195981,964,54406-Feb-201601:39IA-64
Advapi32.dll6.0.6002.240171,963,52009-Sep-201615:10IA-64
Bcrypt.dll6.0.6002.19677583,68010-Aug-201613:07IA-64
Bcrypt.dll6.0.6002.24004584,19210-Aug-201613:07IA-64
Ksecdd.sys6.0.6002.196551,030,37611-May-201613:10IA-64
Lsasrv.dll6.0.6002.196933,263,48810-Sep-201616:22IA-64
Lsasrv.mofNot applicable13,78003-Apr-200921:34Not applicable
Lsass.exe6.0.6002.1854117,92016-Nov-201114:10IA-64
Secur32.dll6.0.6002.19623202,75218-Mar-201616:34IA-64
Ksecdd.sys6.0.6002.239701,030,88811-May-201613:08IA-64
Lsasrv.dll6.0.6002.240173,268,09609-Sep-201615:11IA-64
Lsasrv.mofNot applicable13,78007-Mar-201623:37Not applicable
Lsass.exe6.0.6002.2401717,92009-Sep-201614:28IA-64
Secur32.dll6.0.6002.24017202,75209-Sep-201615:12IA-64
Ncrypt.dll6.0.6002.19678524,80010-Aug-201616:08IA-64
Ncrypt.dll6.0.6002.24017524,80009-Sep-201615:11IA-64
Rpcrt4.dll6.0.6002.195983,298,81606-Feb-201601:41IA-64
Rpcrt4.dll6.0.6002.240173,289,08809-Sep-201615:12IA-64
Wdigest.dll6.0.6002.19659482,81614-May-201615:31IA-64
Wdigest.dll6.0.6002.24017483,32809-Sep-201615:12IA-64
Msv1_0.dll6.0.6002.19431570,88027-Jun-201515:22IA-64
Msv1_0.dll6.0.6002.24017570,36809-Sep-201615:11IA-64
Schannel.dll6.0.6002.19678819,20010-Aug-201616:09IA-64
Schannel.dll6.0.6002.24017821,24809-Sep-201615:12IA-64
Mrxsmb10.sys6.0.6002.19431669,18427-Jun-201514:19IA-64
Mrxsmb10.sys6.0.6002.24017670,20809-Sep-201614:18IA-64
Mrxsmb20.sys6.0.6002.19431270,33627-Jun-201514:19IA-64
Mrxsmb20.sys6.0.6002.24017272,38409-Sep-201614:17IA-64
Mrxsmb.sys6.0.6002.19279323,07209-Jan-201500:12IA-64
Mrxsmb.sys6.0.6002.24017325,63209-Sep-201614:17IA-64
Bcrypt.dll6.0.6002.19677275,96810-Aug-201613:14x86
Bcrypt.dll6.0.6002.24004275,96809-Sep-201613:14x86
Lsasrv.mofNot applicable13,78008-Mar-201600:42Not applicable
Secur32.dll6.0.6002.1969377,31210-Sep-201616:30x86
Lsasrv.mofNot applicable13,78007-Mar-201623:37Not applicable
Secur32.dll6.0.6002.2401777,31209-Sep-201615:17x86
Rpcrt4.dll6.0.6002.19598679,42406-Feb-201602:12x86
Rpcrt4.dll6.0.6002.24017678,91209-Sep-201615:17x86
Wdigest.dll6.0.6002.19659175,61614-May-201615:41x86
Wdigest.dll6.0.6002.24017175,61609-Sep-201615:16x86
Msv1_0.dll6.0.6002.19431218,11227-Jun-201516:02x86
Msv1_0.dll6.0.6002.24017218,11209-Sep-201615:16x86
Schannel.dll6.0.6002.19678284,16010-Aug-201615:44x86
Schannel.dll6.0.6002.24017284,67209-Sep-201615:16x86
Adsmsext.dll6.0.6002.1969375,26410-Sep-201616:27x86
Adsmsext.dll6.0.6002.2401775,26409-Sep-201615:14x86
Advapi32.dll6.0.6002.19598802,30406-Feb-201602:11x86
Advapi32.dll6.0.6002.24017802,81609-Sep-201615:14x86
Ncrypt.dll6.0.6002.19678206,33610-Aug-201615:43x86
Ncrypt.dll6.0.6002.24017205,31209-Sep-201615:16x86
For all supported x86-based versions
File nameFile versionFile sizeDateTimePlatform
Adsmsext.dll6.0.6002.1969375,26410-Sep-201616:27x86
Adsmsext.dll6.0.6002.2401775,26409-Sep-201615:14x86
Advapi32.dll6.0.6002.19598802,30406-Feb-201602:11x86
Advapi32.dll6.0.6002.24017802,81609-Sep-201615:14x86
Bcrypt.dll6.0.6002.19677274,94410-Aug-201613:13x86
Bcrypt.dll6.0.6002.24004274,94409-Sep-201613:14x86
Ksecdd.sys6.0.6002.19655440,55211-May-201613:09x86
Lsasrv.dll6.0.6002.196931,261,05610-Sep-201616:28x86
Lsasrv.mofNot applicable13,78003-Apr-200921:30Not applicable
Lsass.exe6.0.6002.185419,72816-Nov-201114:12x86
Secur32.dll6.0.6002.1962372,70418-Mar-201617:10x86
Ksecdd.sys6.0.6002.23970440,55211-May-201613:07x86
Lsasrv.dll6.0.6002.240171,263,61609-Sep-201615:16x86
Lsasrv.mofNot applicable13,78007-Mar-201623:37Not applicable
Lsass.exe6.0.6002.240179,72809-Sep-201614:23x86
Secur32.dll6.0.6002.2401772,70409-Sep-201615:16x86
Ncrypt.dll6.0.6002.19678206,33610-Aug-201615:43x86
Ncrypt.dll6.0.6002.24017205,31209-Sep-201615:16x86
Rpcrt4.dll6.0.6002.19598783,87206-Feb-201602:12x86
Rpcrt4.dll6.0.6002.24017783,87209-Sep-201615:16x86
Wdigest.dll6.0.6002.19659175,61614-May-201615:41x86
Wdigest.dll6.0.6002.24017175,61609-Sep-201615:16x86
Msv1_0.dll6.0.6002.19431218,11227-Jun-201516:02x86
Msv1_0.dll6.0.6002.24017218,11209-Sep-201615:16x86
Schannel.dll6.0.6002.19678284,16010-Aug-201615:44x86
Schannel.dll6.0.6002.24017284,67209-Sep-201615:16x86
Mrxsmb10.sys6.0.6002.19431217,08827-Jun-201514:21x86
Mrxsmb10.sys6.0.6002.24017217,08809-Sep-201614:17x86
Mrxsmb20.sys6.0.6002.1943181,40827-Jun-201514:21x86
Mrxsmb20.sys6.0.6002.2401782,43209-Sep-201614:17x86
Mrxsmb.sys6.0.6002.19279107,00809-Jan-201500:17x86
Mrxsmb.sys6.0.6002.24017107,52009-Sep-201614:17x86
For all supported x64-based versions
File nameFile versionFile sizeDateTimePlatform
Adsmsext.dll6.0.6002.19693105,47210-Sep-201616:44x64
Adsmsext.dll6.0.6002.24017105,47209-Sep-201615:33x64
Advapi32.dll6.0.6002.195981,067,00806-Feb-201601:59x64
Advapi32.dll6.0.6002.240171,067,52009-Sep-201615:33x64
Bcrypt.dll6.0.6002.19677306,68810-Aug-201613:07x64
Bcrypt.dll6.0.6002.24004306,68810-Aug-201613:08x64
Ksecdd.sys6.0.6002.19655516,32811-May-201613:10x64
Lsasrv.dll6.0.6002.196931,690,62410-Sep-201616:45x64
Lsasrv.mofNot applicable13,78003-Apr-200921:33Not applicable
Lsass.exe6.0.6002.1854111,26416-Nov-201114:34x64
Secur32.dll6.0.6002.1962394,72018-Mar-201618:15x64
Ksecdd.sys6.0.6002.23970517,35211-May-201613:08x64
Lsasrv.dll6.0.6002.240171,694,20809-Sep-201615:34x64
Lsasrv.mofNot applicable13,78007-Mar-201623:37Not applicable
Lsass.exe6.0.6002.2401711,26409-Sep-201614:46x64
Secur32.dll6.0.6002.2401794,72009-Sep-201615:35x64
Ncrypt.dll6.0.6002.19678258,04810-Aug-201616:12x64
Ncrypt.dll6.0.6002.24017258,04809-Sep-201615:35x64
Rpcrt4.dll6.0.6002.195981,304,57606-Feb-201602:01x64
Rpcrt4.dll6.0.6002.240171,308,16009-Sep-201615:35x64
Wdigest.dll6.0.6002.19659205,82414-May-201615:54x64
Wdigest.dll6.0.6002.24017205,82409-Sep-201615:35x64
Msv1_0.dll6.0.6002.19431269,82427-Jun-201515:40x64
Msv1_0.dll6.0.6002.24017269,31209-Sep-201615:35x64
Schannel.dll6.0.6002.19678353,28010-Aug-201616:12x64
Schannel.dll6.0.6002.24017354,30409-Sep-201615:35x64
Mrxsmb10.sys6.0.6002.19431278,01627-Jun-201514:30x64
Mrxsmb10.sys6.0.6002.24017278,52809-Sep-201614:37x64
Mrxsmb20.sys6.0.6002.19431109,05627-Jun-201514:30x64
Mrxsmb20.sys6.0.6002.24017110,08009-Sep-201614:37x64
Mrxsmb.sys6.0.6002.19279136,19209-Jan-201500:28x64
Mrxsmb.sys6.0.6002.24017137,21609-Sep-201614:37x64
Bcrypt.dll6.0.6002.19677275,96810-Aug-201613:14x86
Bcrypt.dll6.0.6002.24004275,96809-Sep-201613:14x86
Lsasrv.mofNot applicable13,78008-Mar-201600:42Not applicable
Secur32.dll6.0.6002.1969377,31210-Sep-201616:30x86
Lsasrv.mofNot applicable13,78007-Mar-201623:37Not applicable
Secur32.dll6.0.6002.2401777,31209-Sep-201615:17x86
Rpcrt4.dll6.0.6002.19598679,42406-Feb-201602:12x86
Rpcrt4.dll6.0.6002.24017678,91209-Sep-201615:17x86
Wdigest.dll6.0.6002.19659175,61614-May-201615:41x86
Wdigest.dll6.0.6002.24017175,61609-Sep-201615:16x86
Msv1_0.dll6.0.6002.19431218,11227-Jun-201516:02x86
Msv1_0.dll6.0.6002.24017218,11209-Sep-201615:16x86
Schannel.dll6.0.6002.19678284,16010-Aug-201615:44x86
Schannel.dll6.0.6002.24017284,67209-Sep-201615:16x86
Adsmsext.dll6.0.6002.1969375,26410-Sep-201616:27x86
Adsmsext.dll6.0.6002.2401775,26409-Sep-201615:14x86
Advapi32.dll6.0.6002.19598802,30406-Feb-201602:11x86
Advapi32.dll6.0.6002.24017802,81609-Sep-201615:14x86
Ncrypt.dll6.0.6002.19678206,33610-Aug-201615:43x86
Ncrypt.dll6.0.6002.24017205,31209-Sep-201615:16x86
malicious attacker exploit
Properties

Article ID: 3167679 - Last Review: 10/14/2016 18:09:00 - Revision: 8.0

Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2

  • atdownload kbbug kbexpertiseinter kbfix kbsecbulletin kbsecurity kbsecvulnerability KB3167679
Feedback