CVE-2015-2387 — Microsoft ATM Font Driver Privilege Escalation Vulnerability

CVE-2015-2387

Windows ATMFD.DLL — Adobe Type Manager Font Driver Out-of-Bounds Write Enables Local Privilege Escalation; Hacking Team Context; Patched MS15-077

What Is ATMFD.DLL?

The Adobe Type Manager Font Driver (ATMFD.DLL) is a Windows kernel-mode font rendering component responsible for processing Adobe Type 1 PostScript and OpenType fonts. The driver runs in kernel mode as part of the Windows graphics subsystem, parsing complex font file structures and generating rendered glyph bitmaps. Because ATMFD.DLL operates in kernel context, an out-of-bounds write in font parsing directly enables kernel privilege escalation.

ATMFD.DLL has a history of security vulnerabilities due to the complexity of PostScript font parsing — the driver processes attacker-controlled binary data (font files) in kernel mode, making any parsing flaw potentially critical.

Overview

Actively Exploited. This vulnerability has been added to CISA's Known Exploited Vulnerabilities (KEV) Catalog on March 3, 2022. Federal agencies are required to apply mitigations per BOD 22-01.

CVE-2015-2387 is an out-of-bounds write privilege escalation in the Windows ATM Font Driver (ATMFD.DLL) that allows local attackers to gain elevated privileges via a crafted application. The vulnerability was patched in MS15-077 (July 14, 2015) — the same Patch Tuesday that followed the Hacking Team data breach (July 5, 2015), which exposed multiple Windows zero-days including the related ATMFD/OpenType font vulnerabilities (CVE-2015-2426 was an out-of-band emergency patch from the Hacking Team leak).

Affected Versions

Windows Status
Windows Vista SP2 Vulnerable
Windows Server 2008 SP2 / R2 SP1 Vulnerable
Windows 7 SP1 Vulnerable
Windows 8 / 8.1 Vulnerable
Windows Server 2012 / 2012 R2 Vulnerable
Windows RT / RT 8.1 Vulnerable

Fixed in MS15-077 (July 2015).

Technical Details

Root Cause: Out-of-Bounds Write in ATMFD Font Parsing

CVE-2015-2387 involves an out-of-bounds write (CWE-787) in ATMFD.DLL's processing of font data. The driver allocates a kernel buffer for font metrics or glyph data, but when processing a specially crafted font — with malformed table entries or incorrect size values — writes beyond the buffer's allocated bounds into adjacent kernel memory.

This kernel heap overflow can corrupt:

  • Adjacent kernel objects — including objects with function pointers or privilege tokens
  • Kernel security structures — such as the access token in the EPROCESS structure that determines process privileges

A successful exploit escalates the attacking process from a standard user to SYSTEM, bypassing all user-space privilege controls.

Privilege Escalation Path

  1. Attacker executes a crafted application that loads a malicious font
  2. ATMFD.DLL processes the font in kernel mode, triggering the out-of-bounds write
  3. Adjacent kernel memory is corrupted — specifically targeting a security-critical structure
  4. Application obtains SYSTEM token / kernel code execution

Attack Characteristics

Attribute Detail
Attack Vector Local — requires user-mode code execution
Privileges Required Low (standard user account)
User Interaction None required
Impact Privilege escalation to SYSTEM
Kernel Component ATMFD.DLL (Adobe Type Manager Font Driver)

Discovery

Reported to Microsoft and patched in MS15-077 as part of the July 2015 Patch Tuesday. The timing — nine days after the Hacking Team data breach — occurred during intense scrutiny of Windows font rendering components, as multiple font-related zero-days appeared in the Hacking Team data.

Exploitation Context

  • Hacking Team context: The July 2015 Hacking Team breach exposed multiple Windows vulnerabilities targeting font rendering; while CVE-2015-2387 was patched on Patch Tuesday, its disclosure coincided with the emergency out-of-band patch for CVE-2015-2426 (an OpenType font RCE from the Hacking Team data), reflecting the intense focus on Windows font security in this period
  • LPE exploit chain component: ATMFD.DLL privilege escalations are used as second-stage exploits in full attack chains — combined with a browser or document RCE for complete system compromise
  • Targeted attacks: Kernel font driver LPE vulnerabilities require precise exploitation and are primarily used in targeted attacks by APT groups rather than mass exploitation
  • CISA KEV (2022): Added March 2022

Remediation

CISA BOD 22-01 Deadline: March 24, 2022. Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
  1. Apply MS15-077 (July 2015). Any Windows system current with Windows Update after July 2015 includes this fix.

  2. Disable ATMFD.DLL — for systems that cannot be patched immediately, Microsoft provided instructions to disable the ATM font driver via registry change:

    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\DisableATMFD = 1
    

    Note: This disables rendering of OpenType/Type1 fonts.

  3. Maintain current Windows patch levels — Microsoft has continued patching ATMFD.DLL (and eventually removed it entirely in Windows 10 2004 and later). Updated systems are protected.

  4. Upgrade Windows — Windows 10 version 2004 (May 2020 Update) and later removed ATMFD.DLL from the OS entirely, eliminating this attack surface.

Key Details

PropertyValue
CVE ID CVE-2015-2387
Vendor / Product Microsoft — ATM Font Driver
NVD Published2015-07-14
NVD Last Modified2025-10-22
CVSS 3.1 Score7.8
CVSS 3.1 VectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
SeverityHIGH
CWE CWE-787 — Out-of-Bounds Write find similar ↗
CISA KEV Added2022-03-03
CISA KEV Deadline2022-03-24
Known Ransomware Use No

CVSS 3.1 Breakdown

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Required Action

CISA BOD 22-01 Deadline: 2022-03-24. Apply updates per vendor instructions.

Timeline

DateEvent
2015-07-05Hacking Team data breach; 400GB of internal files published; multiple zero-days exposed
2015-07-14Microsoft Security Bulletin MS15-077 released; CVE-2015-2387 patched
2015-07-14CVE-2015-2387 published by NVD
2022-03-03Added to CISA Known Exploited Vulnerabilities catalog
2022-03-24CISA BOD 22-01 remediation deadline