Type 1 Font Parsing Remote Code Execution Vulnerability
Released: Mar 23, 2020
Last updated: Apr 14, 2020
- Assigning CNA
- Microsoft
Executive Summary
Microsoft has become aware of limited targeted Windows 7 based attacks that could leverage un-patched vulnerabilities in the Adobe Type Manager Library, and is providing the following guidance to help reduce customer risk until the security update is released. We appreciate the efforts of our industry partners and are complying with a 7-day timeline for disclosing information regarding these limited attacks.
Two remote code execution vulnerabilities exist in Microsoft Windows when the Windows Adobe Type Manager Library improperly handles a specially-crafted multi-master font - Adobe Type 1 PostScript format.
There are multiple ways an attacker could exploit the vulnerability, such as convincing a user to open a specially crafted document or viewing it in the Windows Preview pane.
Microsoft is aware of this vulnerability and working on a fix. Updates that address security vulnerabilities in Microsoft software are typically released on Update Tuesday, the second Tuesday of each month. This predictable schedule allows for partner quality assurance and IT planning, which helps maintain the Windows ecosystem as a reliable, secure choice for our customers. The operating system versions that are affected by this vulnerability are listed below. Please see the mitigation and workarounds for guidance on how to reduce the risk.
Please Note: The threat is low for those systems running Windows 10 due to mitigations that were put in place with the first version released in 2015.
Please see the mitigation section for details. Microsoft is not aware of any attacks against the Windows 10 platform. The possibility of remote code execution is negligible and elevation of privilege is not possible. We do not recommend that IT administrators running Windows 10 implement the workarounds described below.
Microsoft recommends upgrading to the Windows 10 family of clients and servers.
Exploitability
The following table provides an exploitability assessment for this vulnerability at the time of original publication.
- Publicly disclosed
- No
- Exploited
- Yes
- Exploitability assessment
Mitigations
For systems running supported versions of Windows 10 a successful attack could only result in code execution within an AppContainer sandbox context with limited privileges and capabilities.
Version | Fonts Process With |
---|---|
Windows 10 | fontdrvhost.exe in user mode appcontainer. Installed fonts are still processed in kernel mode |
Windows 10 Version 1607/Server 2016 | fontdrvhost.exe in user mode appcontainer. Installed fonts are still processed in kernel mode |
Windows 10 1703 | All fonts are processed in fontdrvhost.exe in user mode appcontainer. |
Windows 10 1709 | All fonts are processed in fontdrvhost.exe in user mode appcontainer. |
Windows 10 1803/Windows Server, version 1803 | All fonts are processed in fontdrvhost.exe in user mode appcontainer. |
Windows 10 1809/Server 2019 | All fonts are processed in fontdrvhost.exe in user mode appcontainer. |
Windows 10 1903/Windows Server, version 1903 | All fonts are processed in fontdrvhost.exe in user mode appcontainer. |
Windows 10 1909/Windows Server, version 1909 | All fonts are processed in fontdrvhost.exe in user mode appcontainer. |
For more information, see Mitigating font exploits with AppContainer.
Workarounds
There are several different workarounds in this section. Not all may apply to all networks.
Workaround | Applicability |
---|---|
Disable the Preview Pane and Details Pane in Windows Explorer | Works on all systems but won't mitigate the issue if you open a document with the vulnerable font class |
Disable the WebClient service | Works on all systems but won't mitigate the issue if you open a document with the vulnerable font class |
DisableATMFD registry key using a managed deployment script | Only works on older (before Windows 10) but completely mitigates the issue though can introduce usability issues in rare cases |
DisableATMFD registry key manually | Only works on older (before Windows 10) but completely mitigates the issue though can introduce usability issues in rare cases |
Rename ATMFD.DLL | Only works on older (before Windows 10) but completely mitigates the issue though can introduce usability issues in rare cases |
Note: We do not recommend that IT administrators running Windows 10 implement the workarounds described below. ATMFD.DLL is not present in Windows 10 installations starting with Windows 10, version 1709. Newer versions do not have this DLL. See the Mitigation section for more information.
Disable the Preview Pane and Details Pane in Windows Explorer
Disabling the Preview and Details panes in Windows Explorer prevents the automatic display of OTF fonts in Windows Explorer. While this prevents malicious files from being viewed in Windows Explorer, it does not prevent a local, authenticated user from running a specially crafted program to exploit this vulnerability.
To disable these panes in Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, and Windows 8.1, perform the following steps:
- Open Windows Explorer, click Organize, and then click Layout.
- Clear both the Details pane and Preview pane menu options.
- Click Organize, and then click Folder and search options.
- Click the View tab.
- Under Advanced settings, check the Always show icons, never thumbnails box.
- Close all open instances of Windows Explorer for the change to take effect.
To disable these panes in all supported client and server versions of Windows 10, perform the following steps:
- Open Windows Explorer, click the View tab.
- Clear both the Details pane and Preview pane menu options.
- Click Options, and then click Change folder and search options.
- Click the View tab.
- Under Advanced settings, check the Always show icons, never thumbnails box.
- Close all open instances of Windows Explorer for the change to take effect.
Impact of workaround.
Windows Explorer will not automatically display OTF fonts.
How to undo the workaround.
To re-enable the Preview and Details panes in Windows Explorer for Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, and Windows 8.1:
- Open Windows Explorer, click Organize, and then click Layout.
- Select both the Details pane and Preview pane menu options.
- Click Organize, and then click Folder and search options.
- Click the View tab.
- Under Advanced settings, clear the Always show icons, never thumbnails box.
- Close all open instances of Windows Explorer for the change to take effect.
To re-enable the Preview and Details panes in Windows Explorer for all supported client and server versions of Windows 10, perform the following steps:
- Open Windows Explorer, click the View tab.
- Select both the Details pane and Preview pane menu options.
- Click Options, and then click Change folder and search options.
- Click the View tab.
- Under Advanced settings, clear the Always show icons, never thumbnails box.
- Close all open instances of Windows Explorer for the change to take effect.
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 the system 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, perform the following steps:
- Click Start, click Run (or press the Windows Key and R on the keyboard), 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 WebClient 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, perform the following steps:
- Click Start, click Run (or press the Windows Key and R on the keyboard), 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.
- Click OK and exit the management application.
DisableATMFD registry key using a managed deployment script
Please Note: This workaround works for Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, and Windows 8.1. ATMFD.DLL is not present in Windows 10 installations starting with Windows 10, version 1709.
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.
- 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
- Run regedit.exe.
- In Registry Editor, click the File menu and then click Import.
- 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).
- Click Open and then click OK to close Registry Editor.
- Restart the system.
Impact of workaround
Applications that rely on embedded font technology will not display properly. Renaming 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.
- 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
- Run regedit.exe.
- In Registry Editor, click the File menu and then click Import.
- 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).
- Click Open and then click OK to close Registry Editor.
- Restart the system.
DisableATMFD registry key manually
Please Note: This workaround works for Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, and Windows 8.1. ATMFD.DLL is not present in Windows 10 installations starting with Windows 10, version 1709. Newer versions do not have this DLL. See the Mitigation section for more information.
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.
- 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.
Impact of workaround
Applications that rely on embedded font technology will not display properly. Renaming 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.
- 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
- Close Registry Editor and restart the system.
Rename ATMFD.DLL
Please Note: This workaround works for Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, and Windows 8.1. ATMFD.DLL is not present in Windows 10 installations starting with Windows 10, version 1709. Newer versions do not have this DLL. See the Mitigation section for more information.
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.
Impact of workaround
Applications that rely on embedded font technology will not display properly. Renaming 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
- Restart the system.
FAQ
Is there an update to address this vulnerability?
Yes, Microsoft has released the April security updates, which address this vulnerability. See CVE-2020-1020 for download links and more information.
Is Microsoft aware of attacks that attempt to leverage this vulnerability?
Yes, Microsoft is aware of limited, targeted attacks that attempt to leverage this vulnerability.
How would customers receive notification about this issue and updated information from Microsoft when published?
Customers who subscribe to Microsoft Technical Security Notifications will receive a notifications whenever new content is published in Microsoft’s Security Update Guide. Find more information about these notifications here: Technical Security Notifications.
Do I need an ESU license to receive the update for Windows 7, Windows Server 2008 and Windows Server 2008 R2 for this vulnerability?
Yes, to receive the security update for this vulnerability for Windows 7, Windows Server 2008, or Windows Server 2008 R2 you must have an ESU license. See 4522133 for more information.
Why is this update not being released for all Windows 7 customers?
Windows 7 reached end of support on January 14, 2020. For more information on Microsoft lifecycle policies, please visit Life Cycle.
Is the Outlook Preview Pane an attack vector for this vulnerability?
No, the Outlook Preview Pane is NOT an attack vector for this vulnerability
Is the Windows Explorer Preview Pane an attack vector for this vulnerability?
Yes, the Windows Explorer Preview Pane is an attack vector for this vulnerability
Is Enhanced Security Configuration, which is on by default on Windows Servers, a mitigation for this vulnerability?
No, Enhanced Security Configuration does not mitigate this vulnerability.
Acknowledgements
Security Updates
To determine the support lifecycle for your software, see the Microsoft Support Lifecycle.
Disclaimer
Revisions
Updated first FAQ to state that CVE-2020-1020 has now been issued to address this vulnerability. This is an informational change only.
Updated Workaround information. This is an informational change only.
Updated Workaround information. This is an informational change only.
Added information to the executive summary to clarify targets of attacks. This is an informational change only.
Updated the severity of the Windows 10 client and server products from Critical to Important. This is an informational change only.
Information published.
Added clarifying information to the mitigation. This is an informational change only.