CVE-2016-0167 — Microsoft Win32k Privilege Escalation Vulnerability

CVE-2016-0167

Microsoft Win32k.sys — Zero-Day LPE Used in Dridex Campaigns; Ransomware Use Confirmed; Inaugural CISA KEV; Patched MS16-039 (April 2016)

What Is Win32k.sys?

Win32k.sys is the Windows kernel-mode driver that implements the Win32 user interface subsystem — GDI graphics rendering, window management, and the USER component. Running in kernel mode with unrestricted system access, Win32k has historically been the most prolific source of Windows privilege escalation vulnerabilities. Win32k LPE vulnerabilities serve as the second stage in multi-step attack chains, elevating initial user-context code execution to SYSTEM-level access.

Overview

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

CVE-2016-0167 is a zero-day Win32k privilege escalation vulnerability exploited by the Dridex banking trojan campaign before Microsoft released a patch. FireEye reported the zero-day exploitation on April 7, 2016 — five days before Microsoft's April Patch Tuesday released MS16-039. The vulnerability was used by Dridex operators to escalate from user-context execution to SYSTEM privileges, enabling full system compromise for credential theft and banking fraud. Ransomware operators subsequently adopted CVE-2016-0167 as a reliable LPE component. CVE-2016-0167 was included in the inaugural CISA KEV catalog launch on November 3, 2021.

Affected Versions

Windows 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 Vulnerable (pre-patch)

Fixed in MS16-039 (April 2016 Patch Tuesday).

Technical Details

Root Cause: Win32k Kernel-Mode Privilege Escalation Zero-Day

CVE-2016-0167 involves an unspecified flaw in Win32k.sys that allows a process running in user context to escalate to SYSTEM privileges through a series of kernel API calls. The zero-day status indicates this vulnerability was being exploited before Microsoft had patched it — Dridex operators possessed a working exploit for an unpatched Win32k vulnerability and used it in financial crime campaigns.

Win32k LPE exploitation typically involves:

  1. Win32 API call sequence — triggering the kernel-mode flaw via specific system calls
  2. Kernel pool corruption or UAF — the flaw enables controlled writes to kernel memory
  3. EPROCESS token manipulation — the security token in the attacking process's kernel structure is replaced with the SYSTEM token
  4. SYSTEM privileges achieved — full kernel access, bypassing all user-space security controls

Dridex Zero-Day Campaign

Dridex is a sophisticated banking trojan with an extended operational history, distributed primarily through macro-enabled Office document phishing. By 2016, Dridex operators maintained access to zero-day exploits — including CVE-2016-0167 — demonstrating the financial resources available to high-volume financial cybercrime operations.

The exploitation chain:

  1. Phishing email delivers macro-enabled Office document
  2. Macro executes Dridex dropper at user privilege
  3. CVE-2016-0167 Win32k LPE escalates to SYSTEM
  4. SYSTEM-level credential theft from browser and Windows credential stores
  5. Banking fraud or lateral movement to additional targets

Ransomware Exploitation Pattern

After the zero-day window closed, CVE-2016-0167 was adopted by ransomware operators:

  1. Initial access at user privilege via exploit kit or phishing
  2. CVE-2016-0167 LPE to SYSTEM
  3. Delete Volume Shadow Copies, terminate security processes
  4. Encrypt all files system-wide

Attack Characteristics

Attribute Detail
Attack Vector Local — Win32 API calls from user-space process
Zero-Day Exploited by Dridex before MS16-039 patch
Ransomware Confirmed post-zero-day adoption
Discovery FireEye (reported April 7, 2016)
Inaugural CISA KEV November 3, 2021

Discovery

FireEye and Microsoft jointly reported CVE-2016-0167 as a zero-day in active Dridex campaigns on April 7, 2016, five days before Microsoft's April Patch Tuesday.

Exploitation Context

  • Financial crime zero-day: CVE-2016-0167 was exploited by Dridex — a high-volume financial fraud operation — as a zero-day, demonstrating that financially motivated criminal groups were acquiring and using unpatched Windows kernel exploits alongside nation-state actors
  • Ransomware LPE: Post-zero-day, CVE-2016-0167 joined the pool of Win32k LPEs used by ransomware operators; the combination of ransomwareUse: true and inaugural KEV inclusion reflects its significance in the 2016–2021 threat landscape
  • Inaugural CISA KEV: CVE-2016-0167 was selected for the inaugural CISA KEV catalog on November 3, 2021 — one of the first 300 entries — reflecting Microsoft's and CISA's assessment of its continued exploitation value
  • CISA KEV (2021): Added November 2021

Remediation

CISA BOD 22-01 Deadline: May 3, 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 MS16-039 (April 2016). Any Windows system current with Windows Update after April 2016 includes this fix.

  2. Upgrade end-of-life Windows — Windows 7 and Server 2008 are past EOL. Upgrade to Windows 10/11 or Server 2019/2022.

  3. Enable Virtualization Based Security (VBS) / HVCI — kernel code integrity protections significantly raise the bar for Win32k exploitation.

  4. Email security — block macro-enabled Office documents in email gateways; Dridex's primary delivery mechanism is macro-based phishing, making email attachment filtering a critical upstream defense against the full attack chain.

  5. Endpoint behavioral detection — detect Win32k LPE patterns and post-exploitation indicators: unexpected SYSTEM-context processes, Volume Shadow Copy deletion, and credential access from LSASS.

Key Details

PropertyValue
CVE ID CVE-2016-0167
Vendor / Product Microsoft — Win32k
NVD Published2016-04-12
NVD Last Modified2025-10-22
CVSS 3.1 Score7.8
CVSS 3.1 VectorCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
SeverityHIGH
CWE CWE-264 — Permissions, Privileges, and Access Controls find similar ↗
CISA KEV Added2021-11-03
CISA KEV Deadline2022-05-03
Known Ransomware Use ⚠️ Yes

CVSS 3.1 Breakdown

Attack Vector
Local
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-05-03. Apply updates per vendor instructions.

Timeline

DateEvent
2016-04-07FireEye and Microsoft report CVE-2016-0167 as a Win32k zero-day actively exploited in Dridex campaigns targeting financial services
2016-04-12Microsoft Security Bulletin MS16-039 released; CVE-2016-0167 patched (April 2016 Patch Tuesday)
2016-04-12CVE-2016-0167 published by NVD
2021-11-03Added to CISA Known Exploited Vulnerabilities catalog (inaugural KEV catalog launch)
2022-05-03CISA BOD 22-01 remediation deadline