CVE-2020-0938 Overview
A remote code execution vulnerability exists in Microsoft Windows when the Windows Adobe Type Manager Library improperly handles a specially-crafted multi-master font in Adobe Type 1 PostScript format. For all systems except Windows 10, an attacker who successfully exploited the vulnerability could execute code remotely. This vulnerability is also known as the 'Adobe Font Manager Library Remote Code Execution Vulnerability' and is distinct from CVE-2020-1020.
Critical Impact
This vulnerability enables remote code execution through malicious font files, affecting a wide range of Windows operating systems including Windows 7, Windows 8.1, and multiple versions of Windows 10 and Windows Server. The vulnerability has been confirmed as actively exploited in the wild and is listed in CISA's Known Exploited Vulnerabilities catalog.
Affected Products
- Microsoft Windows 7 SP1
- Microsoft Windows 8.1 and Windows RT 8.1
- Microsoft Windows 10 (versions 1507, 1607, 1709, 1803, 1809, 1903, 1909)
- Microsoft Windows Server 2008, 2012, 2016, 2019
- Microsoft Windows Server (versions 1803, 1903, 1909)
Discovery Timeline
- April 15, 2020 - CVE-2020-0938 published to NVD
- October 29, 2025 - Last updated in NVD database
Technical Details for CVE-2020-0938
Vulnerability Analysis
The vulnerability resides in the Windows Adobe Type Manager Library (atmfd.dll), a core Windows component responsible for rendering Adobe Type 1 PostScript fonts. The library fails to properly validate and handle specially-crafted multi-master font files, leading to memory corruption conditions that can be leveraged for code execution.
On systems prior to Windows 10, exploitation of this vulnerability allows for full remote code execution. The attack requires user interaction—specifically, a user must open a document containing the malicious font or view it in Windows Preview pane. The vulnerability affects both 32-bit (x86) and 64-bit (x64) architectures, as well as ARM64 platforms on supported Windows 10 versions.
The classification under CWE-787 (Out-of-bounds Write) indicates that the vulnerability allows an attacker to write data beyond the allocated memory boundaries, potentially corrupting adjacent memory structures and gaining control of program execution flow.
Root Cause
The root cause is an out-of-bounds write vulnerability (CWE-787) in the Adobe Type Manager Library's handling of multi-master Adobe Type 1 PostScript fonts. When parsing specially-crafted font data, the library fails to properly validate buffer boundaries before writing font data, allowing memory corruption outside of allocated buffers.
Attack Vector
The attack vector is local, requiring user interaction. Exploitation scenarios include:
- Document-based attack: An attacker embeds a malicious Type 1 PostScript font in a document (such as PDF or Office document) and convinces the user to open it.
- Preview pane attack: An attacker places a malicious font file in a directory and waits for the user to navigate to that folder with Windows Explorer's preview pane enabled.
- Web-based attack: An attacker hosts a webpage with an embedded malicious font and convinces the user to visit the page.
The vulnerability mechanism involves crafting a multi-master font with malformed data structures that cause the atmfd.dll library to write beyond allocated buffer boundaries during font parsing operations. This out-of-bounds write can overwrite critical memory structures, allowing the attacker to redirect execution flow and achieve code execution with the privileges of the current user.
Detection Methods for CVE-2020-0938
Indicators of Compromise
- Suspicious Adobe Type 1 PostScript font files (.pfm, .pfb) with unusual structure or large embedded data sections
- Crashes or abnormal behavior in applications processing font files
- Unusual activity involving atmfd.dll or font-related Windows subsystem components
- Evidence of exploitation attempts in Windows Event Logs related to font rendering failures
Detection Strategies
- Monitor for unusual process crashes in applications that render fonts, particularly looking for faulting module atmfd.dll
- Deploy endpoint detection rules to identify suspicious font file access patterns, especially in email attachments and downloaded documents
- Implement file integrity monitoring for system font directories and the Adobe Type Manager Library
- Use SentinelOne's behavioral AI to detect anomalous memory access patterns associated with font parsing exploitation
Monitoring Recommendations
- Enable Windows Event logging for application crashes and correlate with font-related activity
- Monitor network traffic for downloads of suspicious font files or documents containing embedded fonts
- Track process creation events where parent processes are associated with document handling applications
- Utilize SentinelOne Singularity platform for real-time detection of exploitation attempts targeting font parsing vulnerabilities
How to Mitigate CVE-2020-0938
Immediate Actions Required
- Apply the security update from Microsoft's April 2020 Patch Tuesday release immediately
- For systems where patching is not immediately possible, disable the Windows Preview Pane and Details Pane in Windows Explorer
- Rename the atmfd.dll file on pre-Windows 10 systems as a temporary workaround
- Disable the WebClient service to reduce remote attack vectors
Patch Information
Microsoft released security updates addressing this vulnerability in the April 2020 security update cycle. The official patch is available through Windows Update and WSUS, as well as the Microsoft Update Catalog. Organizations should prioritize patching given the confirmed active exploitation status and inclusion in CISA's Known Exploited Vulnerabilities catalog.
For detailed patch information, refer to the Microsoft Security Advisory CVE-2020-0938.
Workarounds
- Disable the Preview Pane and Details Pane in Windows Explorer to prevent automatic font rendering when browsing directories
- Rename C:\Windows\System32\atmfd.dll (requires taking ownership on 64-bit systems; also rename in SysWOW64 directory)
- Disable the WebClient service using sc config weblient start=disabled to prevent WebDAV-based remote exploitation
- Configure email gateways to block or quarantine documents with embedded Type 1 PostScript fonts
# Disable WebClient service to reduce attack surface
sc config webclient start=disabled
sc stop webclient
# Rename atmfd.dll as workaround (requires administrator privileges)
# For 64-bit systems:
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
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


