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
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:
- Win32 API call sequence — triggering the kernel-mode flaw via specific system calls
- Kernel pool corruption or UAF — the flaw enables controlled writes to kernel memory
- EPROCESS token manipulation — the security token in the attacking process's kernel structure is replaced with the SYSTEM token
- 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:
- Phishing email delivers macro-enabled Office document
- Macro executes Dridex dropper at user privilege
- CVE-2016-0167 Win32k LPE escalates to SYSTEM
- SYSTEM-level credential theft from browser and Windows credential stores
- 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:
- Initial access at user privilege via exploit kit or phishing
- CVE-2016-0167 LPE to SYSTEM
- Delete Volume Shadow Copies, terminate security processes
- 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: trueand 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
-
Apply MS16-039 (April 2016). Any Windows system current with Windows Update after April 2016 includes this fix.
-
Upgrade end-of-life Windows — Windows 7 and Server 2008 are past EOL. Upgrade to Windows 10/11 or Server 2019/2022.
-
Enable Virtualization Based Security (VBS) / HVCI — kernel code integrity protections significantly raise the bar for Win32k exploitation.
-
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.
-
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
| Property | Value |
|---|---|
| CVE ID | CVE-2016-0167 |
| Vendor / Product | Microsoft — Win32k |
| NVD Published | 2016-04-12 |
| NVD Last Modified | 2025-10-22 |
| CVSS 3.1 Score | 7.8 |
| CVSS 3.1 Vector | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Severity | HIGH |
| CWE | CWE-264 — Permissions, Privileges, and Access Controls find similar ↗ |
| CISA KEV Added | 2021-11-03 |
| CISA KEV Deadline | 2022-05-03 |
| Known Ransomware Use | ⚠️ Yes |
CVSS 3.1 Breakdown
Required Action
Timeline
| Date | Event |
|---|---|
| 2016-04-07 | FireEye and Microsoft report CVE-2016-0167 as a Win32k zero-day actively exploited in Dridex campaigns targeting financial services |
| 2016-04-12 | Microsoft Security Bulletin MS16-039 released; CVE-2016-0167 patched (April 2016 Patch Tuesday) |
| 2016-04-12 | CVE-2016-0167 published by NVD |
| 2021-11-03 | Added to CISA Known Exploited Vulnerabilities catalog (inaugural KEV catalog launch) |
| 2022-05-03 | CISA BOD 22-01 remediation deadline |
References
| Resource | Type |
|---|---|
| NVD — CVE-2016-0167 | Vulnerability Database |
| CISA KEV Catalog Entry | US Government |
| Microsoft Security Bulletin MS16-039 — Security Update for Microsoft Graphics Component | Vendor Advisory |