Microsoft Security Bulletin MS15-078 - Critical
Vulnerability in Microsoft Font Driver Could Allow Remote Code Execution (3079904)
Published: July 20, 2015 | Updated: July 29, 2015
Version: 2.0
Executive Summary
This security update resolves a vulnerability in Microsoft Windows. The vulnerability could allow remote code execution if a user opens a specially crafted document or visits an untrusted webpage that contains embedded OpenType fonts.
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 vulnerability 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 3079904.
Suggested actions. The majority of customers have automatic updating enabled and will not need to take any action because the update will be downloaded and installed automatically. Customers who have not enabled automatic updating, or who install updates manually, can use the links in the Affected Software section to download and install the update. See Microsoft Knowledge Base Article 3079904 for more information.
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 Vista | |||
Windows Vista Service Pack 2 (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Vista x64 Edition Service Pack 2 (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Server 2008 | |||
Windows Server 2008 for 32-bit Systems Service Pack 2 (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Server 2008 for x64-based Systems Service Pack 2 (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Server 2008 for Itanium-based Systems Service Pack 2 (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows 7 | |||
Windows 7 for 32-bit Systems Service Pack 1 (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows 7 for x64-based Systems Service Pack 1 (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Server 2008 R2 | |||
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Server 2008 R2 for Itanium-based Systems Service Pack 1 (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows 8 and Windows 8.1 | |||
Windows 8 for 32-bit Systems (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows 8 for x64-based Systems (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows 8.1 for 32-bit Systems (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows 8.1 for x64-based Systems (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Server 2012 and Windows Server 2012 R2 | |||
Windows Server 2012 (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Server 2012 R2 (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows RT and Windows RT 8.1 | |||
Windows RT[1](3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows RT 8.1[1](3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows 10 | |||
Windows 10 for 32-bit Systems[1](3074683) | Remote Code Execution | Critical | None |
Windows 10 for x64-based Systems[1](3074683) | Remote Code Execution | Critical | None |
Server Core installation option | |||
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Server 2012 (Server Core installation) (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
Windows Server 2012 R2 (Server Core installation) (3079904) | Remote Code Execution | Critical | 3077657 in MS15-077 |
[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 | OpenType Font Driver Vulnerability - CVE-2015-2426 | Aggregate Severity Rating |
Windows Vista | ||
Windows Vista Service Pack 2 (3079904) | Critical Remote Code Execution | Critical |
Windows Vista x64 Edition Service Pack 2 (3079904) | Critical Remote Code Execution | Critical |
Windows Server 2008 | ||
Windows Server 2008 for 32-bit Systems Service Pack 2 (3079904) | Critical Remote Code Execution | Critical |
Windows Server 2008 for x64-based Systems Service Pack 2 (3079904) | Critical Remote Code Execution | Critical |
Windows Server 2008 for Itanium-based Systems Service Pack 2 (3079904) | Critical Remote Code Execution | Critical |
Windows 7 | ||
Windows 7 for 32-bit Systems Service Pack 1 (3079904) | Critical Remote Code Execution | Critical |
Windows 7 for x64-based Systems Service Pack 1 (3079904) | Critical Remote Code Execution | Critical |
Windows Server 2008 R2 | ||
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (3079904) | Critical Remote Code Execution | Critical |
Windows Server 2008 R2 for Itanium-based Systems Service Pack 1 (3079904) | Critical Remote Code Execution | Critical |
Windows 8 and Windows 8.1 | ||
Windows 8 for 32-bit Systems (3079904) | Critical Remote Code Execution | Critical |
Windows 8 for x64-based Systems (3079904) | Critical Remote Code Execution | Critical |
Windows 8.1 for 32-bit Systems (3079904) | Critical Remote Code Execution | Critical |
Windows 8.1 for x64-based Systems (3079904) | Critical Remote Code Execution | Critical |
Windows Server 2012 and Windows Server 2012 R2 | ||
Windows Server 2012 (3079904) | Critical Remote Code Execution | Critical |
Windows Server 2012 R2 (3079904) | Critical Remote Code Execution | Critical |
Windows RT 8.1 | ||
Windows RT [1](3079904) | Critical Remote Code Execution | Critical |
Windows RT 8.1[1](3079904) | Critical Remote Code Execution | Critical |
Windows 10 | ||
Windows 10 for 32-bit Systems (3074683) | Critical Remote Code Execution | Critical |
Windows 10 for x64-based Systems (3074683) | Critical Remote Code Execution | Critical |
Server Core installation option | ||
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) (3079904) | Critical Remote Code Execution | Critical |
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) (3079904) | Critical Remote Code Execution | Critical |
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) (3079904) | Critical Remote Code Execution | Critical |
Windows Server 2012 (Server Core installation) (3079904) | Critical Remote Code Execution | Critical |
Windows Server 2012 R2 (Server Core installation) (3079904) | Critical Remote Code Execution | Critical |
Vulnerability Information
OpenType Font Driver Vulnerability - CVE-2015-2426
A remote code execution vulnerability exists in Microsoft Windows when the Windows Adobe Type Manager Library improperly handles specially crafted OpenType fonts. An attacker who successfully exploited this vulnerability could take complete control of the affected system. 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 this vulnerability, such as by convincing a user to open a specially crafted document, or by convincing a user to visit an untrusted webpage that contains embedded OpenType fonts. The update addresses the vulnerability by correcting how the Windows Adobe Type Manager Library handles OpenType fonts.
When this security bulletin was issued, Microsoft had information to indicate that this vulnerability was public but did not have any information to indicate this vulnerability had been used to attack customers. Our analysis has shown that exploit code could be created in such a way that an attacker could consistently 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
For 32-bit systems:
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
Restart the system.
For 64-bit systems:
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
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):
Run regedit.exe as Administrator.
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
Close Registry Editor and restart the system.
Method 2 (use a managed deployment script):
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. 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:
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
Restart the system.
For 64-bit systems:
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):
Run regedit.exe as Administrator.
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):
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.
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 20, 2015): Bulletin published.
- V2.0 (July 29, 2015): Bulletin rereleased to announce the availability of an update package for Windows 10 systems. Customers running Windows 10 should apply the 3074683 update to be protected from the vulnerability discussed in this bulletin. The update is available via Windows Update only. The majority of customers have automatic updating enabled and will not need to take any action because the update will be downloaded and installed automatically.
Page generated 2015-07-28 11:44Z-07:00.