CVE-2017-0001 — Microsoft Graphics Device Interface (GDI) Privilege Escalation Vulnerability

CVE-2017-0001

Microsoft Windows GDI — Kernel Use-After-Free Enables Local Privilege Escalation to SYSTEM; Patched MS17-013 (March 2017)

What Is the Windows Graphics Device Interface (GDI)?

The Windows Graphics Device Interface (GDI) is the core Windows kernel component responsible for rendering graphics — drawing windows, rendering text, managing fonts, and handling bitmaps and graphical output for all Windows applications. GDI runs partially in kernel mode (through win32k.sys and related drivers) and is accessible to all Windows user-mode processes through the Win32 API. Because GDI operates in the kernel and its API is callable from any process including sandboxed ones, GDI kernel vulnerabilities provide a reliable path to SYSTEM privilege escalation.

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-2017-0001 is a use-after-free privilege escalation vulnerability in the Windows Graphics Device Interface (GDI) kernel component. A locally authenticated attacker can make specific sequences of GDI API calls that trigger the kernel to access freed GDI object memory, enabling corruption of kernel structures and escalation to SYSTEM privilege. Patched in MS17-013 (March 14, 2017). CISA added CVE-2017-0001 to the KEV catalog in March 2022.

Affected Versions

Windows Version Status
Windows Vista SP2 Vulnerable
Windows Server 2008 SP2 / R2 SP1 Vulnerable
Windows 7 SP1 Vulnerable
Windows 8.1 Vulnerable
Windows Server 2012 / 2012 R2 Vulnerable
Windows RT 8.1 Vulnerable
Windows 10 (versions 1507–1607) Vulnerable
All above with MS17-013 applied Fixed

Technical Details

Root Cause: GDI Kernel Use-After-Free

CVE-2017-0001 is a use-after-free (CWE-416) in Windows GDI's kernel-mode code. GDI manages graphical objects — brushes, pens, fonts, bitmaps — in kernel memory as GDI kernel objects. Under specific sequences of GDI API calls, GDI may free a kernel GDI object while retaining a stale pointer to its memory in an internal data structure. When this stale pointer is subsequently accessed, the attacker can exploit the UAF for kernel memory corruption.

Exploitation path:

  1. Low-privilege process makes GDI API calls — the attacker triggers the vulnerable GDI object lifecycle through standard Windows API calls (CreateBitmap, DeleteObject, etc.)
  2. Kernel UAF triggers — the GDI kernel driver accesses freed memory through a stale pointer
  3. Heap grooming — attacker controls what data occupies the freed kernel memory slot
  4. Kernel object corruption — controlled data overwrites a sensitive kernel structure (e.g., process token, EPROCESS fields)
  5. SYSTEM escalation — privilege is escalated to SYSTEM

Primary Use: Sandbox Escape

CVE-2017-0001 is most valuable as a post-exploitation sandbox escape: browsers, Office, and document readers sandbox content rendering processes. These sandboxes permit GDI API calls; exploiting CVE-2017-0001 from within the sandbox escapes to SYSTEM, enabling full OS compromise after a browser or document exploit provides initial code execution.

Attack Characteristics

Attribute Detail
Attack Vector Local — requires existing code execution (any privilege)
Privileges Required Low — any process including sandboxed
Impact SYSTEM kernel privilege
Primary Role Sandbox escape / second-stage privilege escalation

Discovery

Identified through Microsoft's internal security research; patched in March 2017 Patch Tuesday (MS17-013) alongside other GDI vulnerabilities including CVE-2017-0005.

Exploitation Context

  • Sandbox escape in exploit chains: CVE-2017-0001 was used in exploit chains following browser or Office vulnerabilities — a renderer exploit for code execution, then CVE-2017-0001 for sandbox escape to SYSTEM; this two-stage pattern enables complete OS compromise from a user clicking a malicious link or opening a document
  • Win32k LPE historical frequency: Windows GDI and Win32k have been among the highest-frequency sources of Windows LPE vulnerabilities throughout the 2010s; the large, complex GDI object management codebase with kernel-mode accessibility from user processes creates a persistent attack surface
  • CISA KEV (2022): Added March 2022 in a batch with other Windows kernel LPEs, reflecting confirmed use in active exploitation chains

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 MS17-013 — install the March 2017 Microsoft Graphics Component security update via Windows Update, WSUS, or MECM. All subsequent Windows cumulative updates include this fix.

  2. Keep Windows fully updated — apply all current Windows security cumulative updates.

  3. Keep browsers and Office fully patched — preventing initial code execution eliminates the need for this sandbox escape; CVE-2017-0001 is only reachable after a prior exploit provides code execution.

Key Details

PropertyValue
CVE ID CVE-2017-0001
Vendor / Product Microsoft — Graphics Device Interface (GDI)
NVD Published2017-03-17
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-416 — Use After Free 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
2017-03-14Microsoft releases MS17-013 patching CVE-2017-0001 (Windows GDI privilege escalation)
2017-03-17CVE-2017-0001 published by NVD
2022-03-03Added to CISA Known Exploited Vulnerabilities catalog
2022-03-24CISA BOD 22-01 remediation deadline