CVE-2019-0903 — Microsoft GDI Remote Code Execution Vulnerability

CVE-2019-0903

GDI memory-handling flaw enabling code execution via a crafted document or font

What is GDI?

The Windows Graphics Device Interface (GDI) is a legacy but still heavily used API for rendering graphics, text, and images — used internally by Windows itself as well as by Office applications, PDF readers, and countless line-of-business tools whenever they draw text, images, or metafiles. Because GDI routinely parses image and font data that can originate from untrusted documents or web content, it has long been a rich source of memory-corruption vulnerabilities reachable simply by opening a file.

Overview

CVE-2019-0903 is a High-severity remote code execution vulnerability in Windows GDI caused by improper handling of objects in memory. An attacker who convinced a victim to open a specially crafted document, or to visit a page hosting malicious content processed by GDI, could execute arbitrary code with the privileges of the current user. Microsoft fixed it in the May 2019 Patch Tuesday update.

Technical Details

The flaw is a memory-corruption bug in GDI's object-handling routines, most plausibly a use-after-free or out-of-bounds condition triggered while parsing a crafted image, font, or metafile object. Exploitation requires the victim to open a malicious file or interact with malicious content (CVSS user interaction: Required) but no prior privileges, and grants full confidentiality, integrity, and availability impact through code execution in the current user's context — a common entry point for document-based malware delivery.

Discovery

Fixed through Microsoft's routine internal security review as part of the May 2019 Patch Tuesday cycle; no external researcher has been broadly credited publicly for this specific finding.

Exploitation Context

CISA's KEV catalog confirms this vulnerability has been exploited in the wild. GDI memory-corruption bugs have historically been popular in document-based phishing campaigns (malicious Office attachments, embedded images, or crafted fonts) because they provide a reliable initial code-execution vector that doesn't rely on macros, which are increasingly blocked or flagged by default in modern Office configurations.

Remediation

  1. Apply the May 2019 Patch Tuesday cumulative update (or any later update) for the affected Windows version.
  2. Enable Protected View and disable automatic preview of untrusted documents in Office and other GDI-consuming applications.
  3. Deploy Attack Surface Reduction rules to block Office applications from creating child processes or injecting code.
  4. Filter email attachments and downloads through a gateway capable of detonating and inspecting untrusted documents.
  5. Monitor endpoint logs for anomalous process spawning from document viewers, a common indicator of successful exploitation.

Key Details

PropertyValue
CVE ID CVE-2019-0903
Vendor / Product Microsoft — Graphics Device Interface (GDI)
NVD Published2019-05-16
NVD Last Modified2025-10-29
CVSS 3.1 Score8.8
CVSS 3.1 VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
SeverityHIGH
CISA KEV Added2022-03-25
CISA KEV Deadline2022-04-15
Known Ransomware Use No

CVSS 3.1 Breakdown

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

Required Action

CISA BOD 22-01 Deadline: 2022-04-15. Apply updates per vendor instructions.

Timeline

DateEvent
2019-05-14Fixed as part of Microsoft's May 2019 Patch Tuesday release
2022-03-25Added to CISA Known Exploited Vulnerabilities catalog
2022-04-15CISA BOD 22-01 remediation deadline

References

ResourceType
NVD — CVE-2019-0903 Vulnerability Database
CISA KEV Catalog Entry US Government