Microsoft Security Bulletin MS15-077 - Important

Vulnerability in ATM Font Driver Could Allow Elevation of Privilege (3077657)

Published: July 14, 2015

Version: 1.0

Executive Summary

This security update resolves a vulnerability in Microsoft Windows. The vulnerability could allow elevation of privilege if an attacker logs on to a target system and runs a specially crafted application. An attacker who successfully exploited this vulnerability could execute arbitrary code and 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.

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

The security update addresses the vulnerability by correcting how Adobe Type Manager Font Driver (ATMFD) handles objects in memory. For more information about the vulnerability, see the Vulnerability Information section.

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

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.

Operating System Maximum Security Impact Aggregate Severity Rating Updates Replaced
Windows Server 2003
Windows Server 2003 Service Pack 2 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2003 x64 Edition Service Pack 2 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2003 with SP2 for Itanium-based Systems (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Vista
Windows Vista Service Pack 2 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Vista x64 Edition Service Pack 2 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2008
Windows Server 2008 for 32-bit Systems Service Pack 2 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2008 for x64-based Systems Service Pack 2 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2008 for Itanium-based Systems Service Pack 2 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows 7
Windows 7 for 32-bit Systems Service Pack 1 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows 7 for x64-based Systems Service Pack 1 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2008 R2
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2008 R2 for Itanium-based Systems Service Pack 1 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows 8 and Windows 8.1
Windows 8 for 32-bit Systems (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows 8 for x64-based Systems (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows 8.1 for 32-bit Systems (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows 8.1 for x64-based Systems (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2012 and Windows Server 2012 R2
Windows Server 2012 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2012 R2 (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows RT and Windows RT 8.1
Windows RT[1](3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows RT 8.1[1](3077657) Elevation of Privilege Important 3032323 in MS15-021
Server Core installation option
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2012 (Server Core installation) (3077657) Elevation of Privilege Important 3032323 in MS15-021
Windows Server 2012 R2 (Server Core installation) (3077657) Elevation of Privilege Important 3032323 in MS15-021

[1]This update is available via Windows Update only.

*The Updates Replaced column shows only the latest update in a 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 on the Package Details tab).

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 July bulletin summary.

Vulnerability Severity Rating and Maximum Security Impact by Affected Software
Affected Software ATMFD.DLL Memory Corruption Vulnerability - CVE-2015-2387 Aggregate Severity Rating
Windows Server 2003
Windows Server 2003 Service Pack 2 (3077657) Important Elevation of Privilege Important
Windows Server 2003 x64 Edition Service Pack 2 (3077657) Important Elevation of Privilege Important
Windows Server 2003 with SP2 for Itanium-based Systems (3077657) Important Elevation of Privilege Important
Windows Vista
Windows Vista Service Pack 2 (3077657) Important Elevation of Privilege Important
Windows Vista x64 Edition Service Pack 2 (3077657) Important Elevation of Privilege Important
Windows Server 2008
Windows Server 2008 for 32-bit Systems Service Pack 2 (3077657) Important Elevation of Privilege Important
Windows Server 2008 for x64-based Systems Service Pack 2 (3077657) Important Elevation of Privilege Important
Windows Server 2008 for Itanium-based Systems Service Pack 2 (3077657) Important Elevation of Privilege Important
Windows 7
Windows 7 for 32-bit Systems Service Pack 1 (3077657) Important Elevation of Privilege Important
Windows 7 for x64-based Systems Service Pack 1 (3077657) Important Elevation of Privilege Important
Windows Server 2008 R2
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (3077657) Important Elevation of Privilege Important
Windows Server 2008 R2 for Itanium-based Systems Service Pack 1 (3077657) Important Elevation of Privilege Important
Windows 8 and Windows 8.1
Windows 8 for 32-bit Systems (3077657) Important Elevation of Privilege Important
Windows 8 for x64-based Systems (3077657) Important Elevation of Privilege Important
Windows 8.1 for 32-bit Systems (3077657) Important Elevation of Privilege Important
Windows 8.1 for x64-based Systems (3077657) Important Elevation of Privilege Important
Windows Server 2012 and Windows Server 2012 R2
Windows Server 2012 (3077657) Important Elevation of Privilege Important
Windows Server 2012 R2 (3077657) Important Elevation of Privilege Important
Windows RT and Windows RT 8.1
Windows RT[1](3077657) Important Elevation of Privilege Important
Windows RT 8.1[1](3077657) Important Elevation of Privilege Important
Server Core installation option
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) (3077657) Important Elevation of Privilege Important
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) (3077657) Important Elevation of Privilege Important
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) (3077657) Important Elevation of Privilege Important
Windows Server 2012 (Server Core installation) (3077657) Important Elevation of Privilege Important
Windows Server 2012 R2 (Server Core installation) (3077657) Important Elevation of Privilege Important

Vulnerability Information

ATMFD.DLL Memory Corruption Vulnerability - CVE-2015-2387

An elevation of privilege vulnerability exists in Adobe Type Manager Font Driver (ATMFD) when it fails to properly handle objects in memory. An attacker who successfully exploited this vulnerability could execute arbitrary code and 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.

To exploit the vulnerability, an attacker would first have to log on to a target system and then run a specially crafted application. The security update addresses the vulnerability by correcting how ATMFD handles objects in memory.

This vulnerability has been publicly disclosed. It has been assigned Common Vulnerability and Exposure number CVE-2015-2387. When this bulletin was originally released, Microsoft was aware of limited, targeted attacks that attempt to exploit this vulnerability.

Mitigating Factors

Microsoft has not identified any mitigating factors for this vulnerability.

Workarounds

The following workarounds may be helpful in your situation:

  • Rename ATMFD.DLL Note This workaround is applicable to all operating systems except Windows Server 2003 due to active file protection. See Microsoft Knowledge Base Article 222193 for more information

    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 newer 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 display properly.

    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 newer 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:000000001
    
  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.

Security Update Deployment

For Security Update Deployment information, see the Microsoft Knowledge Base article referenced 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 (July 14, 2015): Bulletin published.

Page generated 2015-07-20 11:42Z-07:00.