Microsoft Security Bulletin MS15-020 - Critical

In this article

Executive Summary

This security update resolves vulnerabilities in Microsoft Windows. The vulnerabilities could allow remote code execution if an attacker successfully convinces a user to browse to a specially crafted website, open a specially crafted file, or browse to a working directory that contains a specially crafted DLL file.

This security update is rated Critical for all supported releases of Microsoft Windows. For more information, see the Affected Software section.

The security update addresses the vulnerabilities by correcting how Microsoft Text Services handles objects in memory and how Microsoft Windows handles the loading of DLL files. For more information about the vulnerabilities, see the Vulnerability Information section.

Affected Software

The following software versions or editions are affected. Versions or editions that are not listed are either past their support life cycle or are not affected. To determine the support life cycle for your software version or edition, see Microsoft Support Lifecycle.

2926765 and 2962123 in [MS14-027](http://go.microsoft.com/fwlink/?linkid=396823)

**Note** The updates are available for Windows Technical Preview and Windows Server Technical Preview. Customers running these operating systems are encouraged to apply the updates, which are available via Windows Update.

Severity Ratings and Vulnerability Identifiers

The following severity ratings assume the potential maximum impact of the vulnerability. For information regarding the likelihood, within 30 days of this security bulletin's release, of the exploitability of the vulnerability in relation to its severity rating and security impact, please see the Exploitability Index in the March bulletin summary.

Vulnerability Information

WTS Remote Code Execution Vulnerability - CVE-2015-0081

A remote code execution vulnerability exists when Windows Text Services improperly handles objects in memory. An attacker who successfully exploited this vulnerability could run arbitrary code in the context of the logged-on user.

To exploit this vulnerability, an attacker would have to convince a user to browse to a specially crafted website or open a specially crafted file. The update addresses the vulnerability by correcting how Microsoft Text Services handles objects in memory.

Microsoft received information about this vulnerability through coordinated vulnerability disclosure. When this security bulletin was originally issued Microsoft had not received any information to indicate that this vulnerability had been publicly used to attack customers.

Mitigating Factors

Workarounds

DLL Planting Remote Code Execution Vulnerability - CVE-2015-0096

A remote code execution vulnerability exists when Microsoft Windows improperly handles the loading of DLL files. An attacker who successfully exploited this vulnerability could take complete control of an 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.

The vulnerability exists when Windows parses shortcuts in a way that could allow malicious code to be executed when the icon of a specially crafted shortcut is displayed. For the vulnerability to be exploited a user would have to use Windows Explorer to browse to a malicious website, remote network share, or local working directory (note that other methods of browsing to a working directory, such as via cmd.exe or powershell.exe, do NOT trigger the exploit). Additionally, the vulnerability could be exploited through USB removable drives, particularly on systems where AutoPlay has been enabled.

After the user browses to the malicious directory, the specially crafted DLL it contains is loaded into memory, giving the attacker control of the affected system in the security context of the logged-on user. The update addresses the vulnerability by correcting how Microsoft Windows handles the loading of DLL files.

Microsoft received information about this vulnerability through coordinated vulnerability disclosure. When this security bulletin was originally issued Microsoft had not received any information to indicate that this vulnerability had been publicly used to attack customers.

Mitigating Factors

Workarounds

Note See Microsoft Knowledge Base Article 2286198 to use the automated Microsoft Fix it solution to enable or disable this workaround. This Fix it solution requires a restart upon completion in order to be effective. This Fix it solution deploys the workaround, and thus has the same user impact. We recommend that administrators review the KB article closely prior to deploying this Fix it solution.

Note Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. For information about how to edit the registry, view the "Changing Keys And Values" Help topic in Registry Editor (Regedit.exe) or view the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe.

Click Start, click Run, type Regedit in the Open box, and then click OK.

Locate and then select the following registry key:

HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler

Click the File menu and then click Export.

In the Export Registry File dialog box, enter LNK_Icon_Backup.reg and then click Save.Note This will create a backup of this registry key in the My Documents folder by default.

Select the value (Default) on the right pane in Registry Editor. Press Enter to edit the value of the key. Delete the value, so that the value is blank, and press Enter.

Locate and then select the following registry key:

HKEY_CLASSES_ROOT\piffile\shellex\IconHandler

Click the File menu and then click Export.

In the Export Registry File dialog box, enter PIF_Icon_Backup.reg and then click Save.Note This creates a backup of this registry key in the My Documents folder by default.

Select the value (Default) on the right pane in Registry Editor. Press Enter to edit the value of the key. Delete the value, so that the value is blank, and press Enter.

Log all users off and on again, or restart the computer.

Impact of workaround. Disabling icons from being displayed for shortcuts prevents the issue from being exploited on affected systems. When this workaround is implemented, the system may display most icons as a "white" default object icon, which does impact usability. We recommend that system administrators test this workaround thoroughly prior to deployment. When the workaround is undone, all icons will reappear.

How to undo the workaround.

Using the interactive method:

Click Start, click Run, type Regedit in the Open box, and then click OK.

Click the File menu and then click Import.

In the Import Registry File dialog box, select LNK_Icon_Backup.reg, and then click Open.

Click the File menu and then click Import.

In the Import Registry File dialog box, select PIF_Icon_Backup.reg, and then click Open.

Exit Registry Editor, and then restart the computer.

Manually resetting the Registry key values to the default values:

Click Start, click Run, type Regedit in the Open box, and then click OK.

Locate and then click the following registry key:

HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler

Reset the registry key value to:

{00021401-0000-0000-C000-000000000046}

Locate and then click the following registry key:

HKEY_CLASSES_ROOT\piffile\shellex\IconHandler

Reset the registry key value to:

{00021401-0000-0000-C000-000000000046}

Restart the computer

Disable the WebClient service

Disabling the WebClient service helps protect affected systems from attempts to exploit this vulnerability by blocking the most likely remote attack vector through the Web Distributed Authoring and Versioning (WebDAV) client service. After applying this workaround it is still possible for remote attackers who successfully exploit this vulnerability to cause Microsoft Office Outlook to run programs located on the targeted user's computer or the Local Area Network (LAN), but users will be prompted for confirmation before opening arbitrary programs from the Internet.

To disable the WebClient Service, follow these steps:

Click Start, click Run, type Services.msc and then click OK.

Right-click WebClient service and select Properties.

Change the Startup type to Disabled. If the service is running, click Stop.

Click OK and exit the management application.

Impact of workaround. When the WebClient service is disabled, Web Distributed Authoring and Versioning (WebDAV) requests are not transmitted. In addition, any services that explicitly depend on the Web Client service will not start, and an error message will be logged in the System log. For example, WebDAV shares will be inaccessible from the client computer.

How to undo the workaround:

To re-enable the WebClient Service, follow these steps:

Click Start, click Run, type Services.msc and then click OK.

Right-click WebClient service and select Properties.

Change the Startup type to Automatic. If the service is not running, click Start.

Security Update Deployment

Acknowledgments

Microsoft recognizes the efforts of those in the security community who help us protect customers through coordinated vulnerability disclosure. See Acknowledgments for more information.

Disclaimer

The information provided in the Microsoft Knowledge Base is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.