Microsoft Security Bulletin MS16-026 - Critical

Security Update for Graphic Fonts to Address Remote Code Execution (3143148)

Published: March 8, 2016

Version: 1.0

Executive Summary

This security update resolves vulnerabilities in Microsoft Windows. The more severe of the vulnerabilities could allow remote code execution if an attacker either convinces a user to open a specially crafted document, or to visit a webpage that contains specially crafted embedded OpenType fonts.

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

The security update addresses the vulnerabilities by correcting how the Windows Adobe Type Manager Library handles OpenType fonts.

For more information about the vulnerability, see the Vulnerability Information section.

For more information about this update, see Microsoft Knowledge Base Article 3143148.

Affected Software and Vulnerability Severity Ratings

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.

The severity ratings indicated for each affected software 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.

**Operating System** [**OpenType Font Parsing Vulnerability - CVE-2016-0120**](http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2016-0120) [**OpenType Font Parsing Vulnerability - CVE-2016-0121**](http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2016-0121) **Updates Replaced**\*
**Windows Vista**
[Windows Vista Service Pack 2](http://www.microsoft.com/downloads/details.aspx?familyid=d282beea-0d6f-4134-9730-694b58cca65f) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
[Windows Vista x64 Edition Service Pack 2](http://www.microsoft.com/downloads/details.aspx?familyid=df92053f-1ebf-4b12-82fb-078ced0d0171) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
**Windows Server 2008**
[Windows Server 2008 for 32-bit Systems Service Pack 2](http://www.microsoft.com/downloads/details.aspx?familyid=efde5e2c-5915-446d-8290-283374591c4c) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
[Windows Server 2008 for x64-based Systems Service Pack 2](http://www.microsoft.com/downloads/details.aspx?familyid=ff20a37a-8e8d-4cf3-ac45-167130b7deb5) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
[Windows Server 2008 for Itanium-based Systems Service Pack 2](http://www.microsoft.com/downloads/details.aspx?familyid=6f80b7f4-a78e-4d42-85cb-6a64e80afb87) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
**Windows 7**
[Windows 7 for 32-bit Systems Service Pack 1](http://www.microsoft.com/downloads/details.aspx?familyid=961c2243-af0f-4c92-898a-cb3455a9c8c7) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
[Windows 7 for x64-based Systems Service Pack 1](http://www.microsoft.com/downloads/details.aspx?familyid=14e1cdb4-225d-43c1-853d-5387f47df616) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
**Windows Server 2008 R2**
[Windows Server 2008 R2 for x64-based Systems Service Pack 1](http://www.microsoft.com/downloads/details.aspx?familyid=18493b90-9ea4-47e2-b9fc-04de28add703) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
[Windows Server 2008 R2 for Itanium-based Systems Service Pack 1](http://www.microsoft.com/downloads/details.aspx?familyid=92a273f7-506d-471b-b704-8f582ca20036) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
**Windows 8.1**
[Windows 8.1 for 32-bit Systems](http://www.microsoft.com/downloads/details.aspx?familyid=d7d9e77e-4d7f-46b2-a31f-ec24d0ff0568) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
[Windows 8.1 for x64-based Systems](http://www.microsoft.com/downloads/details.aspx?familyid=ca4d2a65-86ca-4b0b-8823-fe3b78bfa891) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
**Windows Server 2012 and Windows Server 2012 R2**
[Windows Server 2012](http://www.microsoft.com/downloads/details.aspx?familyid=e0803c7d-a440-46a0-9f95-c39d6ab13325) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution None
[Windows Server 2012 R2](http://www.microsoft.com/downloads/details.aspx?familyid=03e014b0-e318-461b-b469-ecdd257b50b4) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
**Windows RT 8.1**
Windows RT 8.1[1] (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
**Windows 10**
[Windows 10 for 32-bit Systems](https://support.microsoft.com/kb/3140745)[2] (3140745) **Low**  Denial of Service **Critical**  Remote Code Execution [3135174](https://support.microsoft.com/kb/3135174)
[Windows 10 for x64-based Systems](https://support.microsoft.com/kb/3140745)[2] (3140745) **Low**  Denial of Service **Critical**  Remote Code Execution [3135174](https://support.microsoft.com/kb/3135174)
[Windows 10 Version 1511 for 32-bit Systems](https://support.microsoft.com/kb/3140768)[2] (3140768) **Low**  Denial of Service **Critical**  Remote Code Execution [3140743](https://support.microsoft.com/kb/3140743)
[Windows 10 Version 1511 for x64-based Systems](https://support.microsoft.com/kb/3140768)[2] (3140768) **Low**  Denial of Service **Critical**  Remote Code Execution [3140743](https://support.microsoft.com/kb/3140743)
**Server Core installation option**
[Windows Server 2008 for 32-bit Systems Service Pack 2](http://www.microsoft.com/downloads/details.aspx?familyid=efde5e2c-5915-446d-8290-283374591c4c) (Server Core installation) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
[Windows Server 2008 for x64-based Systems Service Pack 2](http://www.microsoft.com/downloads/details.aspx?familyid=ff20a37a-8e8d-4cf3-ac45-167130b7deb5) (Server Core installation) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
[Windows Server 2008 R2 for x64-based Systems Service Pack 1](http://www.microsoft.com/downloads/details.aspx?familyid=18493b90-9ea4-47e2-b9fc-04de28add703) (Server Core installation) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
[Windows Server 2012](http://www.microsoft.com/downloads/details.aspx?familyid=e0803c7d-a440-46a0-9f95-c39d6ab13325) (Server Core installation) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
[Windows Server 2012 R2](http://www.microsoft.com/downloads/details.aspx?familyid=03e014b0-e318-461b-b469-ecdd257b50b4) (Server Core installation) (3140735) **Moderate**  Denial of Service **Critical**  Remote Code Execution 3079904 in [MS15-078](http://go.microsoft.com/fwlink/?linkid=618679)
[1]This update is available via [Windows Update](http://go.microsoft.com/fwlink/?linkid=21130).

[2]Windows 10 updates are cumulative. In addition to containing non-security updates, they also contain all of the security fixes for all of the Windows 10-affected vulnerabilities shipping with the monthly security release. The update is available via the Windows Update Catalog.

Note Windows Server Technical Preview 4 is affected. Customers running these operating systems are encouraged to apply the update, which is available via Windows Update.

*The Updates Replaced column shows only the latest update in any chain of superseded updates. For a comprehensive list of updates replaced, go to the Microsoft Update Catalog, search for the update KB number, and then view update details (updates replaced information is provided on the Package Details tab).

Vulnerability Information

OpenType Font Parsing Vulnerability - CVE-2016-0120

A denial of service vulnerability exists in Microsoft Windows when the Windows Adobe Type Manager Library improperly handles specially crafted OpenType fonts. For all systems except Windows 10, an attacker who successfully exploited the vulnerability could cause a denial of service condition. For systems running Windows 10, an attacker who successfully exploited the vulnerability could potentially cause the application to stop responding instead of the system.

There are multiple ways an attacker could exploit the vulnerability, such as by either convincing a user to open a specially crafted document, or by convincing a user to visit a webpage that contains specially crafted embedded OpenType fonts. The update addresses the vulnerability by correcting how the Windows Adobe Type Manager Library handles OpenType fonts.

The following table contains links to the standard entry for each vulnerability in the Common Vulnerabilities and Exposures list:

Vulnerability title CVE number Publicly disclosed Exploited
OpenType Font Parsing Vulnerability CVE-2016-0120 No No
### Mitigating Factors Microsoft has not identified any [mitigating factors](https://technet.microsoft.com/library/security/dn848375.aspx) for this vulnerability. ### Workarounds For more information, see the “[Workarounds for OpenType Font Parsing Vulnerabilities](#_workarounds_for_opentype)” section. OpenType Font Parsing Vulnerability - CVE-2016-0121 --------------------------------------------------- A remote code execution vulnerability exists in Microsoft Windows when the Windows Adobe Type Manager Library improperly handles specially crafted fonts. For all systems except Windows 10, an attacker who successfully exploited the vulnerability could execute code remotely. For systems running Windows 10, an attacker who successfully exploited the vulnerability could execute code in an AppContainer sandbox context with limited privileges and capabilities. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. There are multiple ways an attacker could exploit the vulnerability, such as by either convincing a user to open a specially crafted document, or by convincing a user to visit a webpage that contains specially crafted embedded OpenType fonts. The update addresses the vulnerability by correcting how the Windows Adobe Type Manager Library handles OpenType fonts. The following table contains links to the standard entry for each vulnerability in the Common Vulnerabilities and Exposures list:

Vulnerability title CVE number Publicly disclosed Exploited
OpenType Font Parsing Vulnerability CVE-2016-0121 No No
### Mitigating Factors Microsoft has not identified any [mitigating factors](https://technet.microsoft.com/library/security/dn848375.aspx) for this vulnerability. ### Workarounds For more information, see the “[Workarounds for OpenType Font Parsing Vulnerabilities](#_workarounds_for_opentype)” section. Workarounds for OpenType Font Parsing Vulnerabilities ----------------------------------------------------- - **Rename ATMFD.DLL For 32-bit systems:** 1. Enter the following commands at an administrative command prompt: ``` cd "%windir%\system32" takeown.exe /f atmfd.dll icacls.exe atmfd.dll /save atmfd.dll.acl icacls.exe atmfd.dll /grant Administrators:(F) rename atmfd.dll x-atmfd.dll ``` 2. Restart the system. **For 64-bit systems:** 1. Enter the following commands at an administrative command prompt:
    ```       
        cd "%windir%\system32"  
        takeown.exe /f atmfd.dll  
        icacls.exe atmfd.dll /save atmfd.dll.acl  
        icacls.exe atmfd.dll /grant Administrators:(F)   
        rename atmfd.dll x-atmfd.dll  
        cd "%windir%\syswow64"  
        takeown.exe /f atmfd.dll  
        icacls.exe atmfd.dll /save atmfd.dll.acl  
        icacls.exe atmfd.dll /grant Administrators:(F)   
        rename atmfd.dll x-atmfd.dll
    ```          
2. Restart the system.     

**Optional procedure for Windows 8 and later operating systems (disable ATMFD):**

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

**Method 1 (manually edit the system registry):**

1. Run **regedit.exe** as Administrator.  
2. In Registry Editor, navigate to the following sub key (or create it) and set its DWORD value to 1:

   HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\DisableATMFD, DWORD = 1

3.  Close Registry Editor and restart the system.    

**Method 2 (use a managed deployment script):**

1. Create a text file named **ATMFD-disable.reg** that contains the following text: 

```
Windows Registry Editor Version 5.00  
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]  
"DisableATMFD"=dword:00000001
```
2. Run **regedit.exe**.  
3. In Registry Editor, click the **File** menu and then click **Import**.  
4. Navigate to and select the **ATMFD-disable.reg** file that you created in the first step.  
    (**Note** If your file is not listed where you expect it to be, ensure that it has not been automatically given a .txt file extension, or change the dialog’s file extension parameters to **All Files**).  
5. Click **Open** and then click **OK** to close Registry Editor.

**Impact of workaround.** Applications that rely on embedded font technology will not be displayed properly. Disabling ATMFD.DLL could cause certain applications to stop working properly if they use OpenType fonts. Microsoft Windows does not release any OpenType fonts natively. However, third-party applications could install them and they could be affected by this change.

**How to undo the workaround.**

**For 32-bit systems:**

1. Enter the following commands at an administrative command prompt: 

    ```
    cd "%windir%\system32"  
    rename x-atmfd.dll atmfd.dll  
    icacls.exe atmfd.dll /setowner "NT SERVICE\TrustedInstaller"  
    icacls.exe . /restore atmfd.dll.acl
    ```
2. Restart the system.     

**For 64-bit systems:**

1. Enter the following commands at an administrative command prompt: 

    ```
    cd "%windir%\system32"  
    rename x-atmfd.dll atmfd.dll  
    icacls.exe atmfd.dll /setowner "NT SERVICE\TrustedInstaller"  
    icacls.exe . /restore atmfd.dll.acl  
    cd "%windir%\syswow64"  
    rename x-atmfd.dll atmfd.dll  
    icacls.exe atmfd.dll /setowner "NT SERVICE\TrustedInstaller"  
    icacls.exe . /restore atmfd.dll.acl
    ```
2. Restart the system.    

**Optional procedure for Windows 8 and later operating systems (enable ATMFD):**

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

**Method 1 (manually edit the system registry):**

1. Run **regedit.exe** as Administrator.  
2. In Registry Editor, navigate to the following sub key and set its DWORD value to 0:

    HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\DisableATMFD, DWORD = 0

3. Close Registry Editor and restart the system.    

**Method 2 (use a managed deployment script):**

1. Create a text file named **ATMFD-enable.reg** that contains the following text: 

    ```
    Windows Registry Editor Version 5.00  
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]  
    "DisableATMFD"=dword:00000000
    ```
2. Run **regedit.exe**.  
3. In Registry Editor, click the **File** menu and then click **Import**.  
4. Navigate to and select the **ATMFD-enable.reg** file that you created in the first step.  
    (**Note** If your file is not listed where you expect it to be, ensure that it has not been automatically given a .txt file extension, or change the dialog’s file extension parameters to **All Files**).  
5. Click **Open** and then click **OK** to close Registry Editor.     

**Method 3 (Turn on and use the Blocking Untrusted Fonts feature)**

**Note** This workaround is only applicable for Windows 10.

To turn this feature on, off, or to use audit mode:

1. Open the registry editor (regedit.exe) and go to **HKEY\_LOCAL\_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Kernel\\**.  
2. If the **MitigationOptions** key is not there, right-click and add a new **QWORD (64-bit) Value**, renaming it to **MitigationOptions**.  
3. Update the **Value data** of the **MitigationOptions** key, and ensure that you keep your existing value, such as in the Important note below:  
4. **To turn this feature on.** Type **1000000000000**.  
5. **To turn this feature off.** Type **2000000000000**.  
6. **To audit with this feature.** Type **3000000000000**.

    **Important** Save your existing **MitigationOptions** values during your update. For example, if the current value is *1000*, your updated value should be *1000000001000*.

7. Restart the system.

Security Update Deployment

For Security Update Deployment information, see the Microsoft Knowledge Base article referenced here in the Executive Summary.

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.

Revisions

  • V1.0 (March 8, 2016): Bulletin published.

Page generated 2016-03-09 10:39-08:00.