Introduction
A use after free in the Windows Win32K graphics kernel subsystem, patched in May 2026, lets any local user with a basic account escalate to SYSTEM privileges. Exploitation requires winning a race condition, and no in-the-wild activity has been observed. Even so, for organizations running multi-user Windows environments or terminal servers, CVE-2026-34347 is a meaningful post-compromise escalation primitive and should be patched promptly.
Technical Information
Root Cause
CVE-2026-34347 is classified as CWE-416 (Use After Free) within the Windows Win32K GRFX component. Win32K is the kernel-mode portion of the Windows graphics subsystem and handles window management, GDI rendering, and related operations. The GRFX subcomponent manages graphics objects at the kernel level.
The bug is that a kernel-mode graphics object was referenced after its backing memory had already been freed. This leaves a dangling pointer, a reference to memory that may have been reallocated for a different purpose. If an attacker can influence what occupies that freed region at the moment the stale pointer is dereferenced, they can corrupt arbitrary kernel memory.
CVSS Breakdown
The full CVSS 3.1 vector is CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H, with a base score of 7.0.
| Metric | Value | Implication |
|---|---|---|
| Attack Vector | Local | Attacker must have local system access |
| Attack Complexity | High | Attacker must win a race condition |
| Privileges Required | Low | A standard, non-administrative user account suffices |
| User Interaction | None | No victim action is needed |
| Scope | Unchanged | The impacted component is the same as the vulnerable component |
| Confidentiality / Integrity / Availability | High / High / High | Full compromise of the host |
Attack Flow
Based on the vulnerability characteristics, exploitation would follow this general sequence:
-
Initial Access: The attacker obtains code execution on the target system under a low-privileged user account. This could come from a compromised user session, a phishing payload, or lateral movement from another compromised host.
-
Triggering the Free: The attacker uses standard Windows API calls to create and manipulate graphics objects in the Win32K GRFX subsystem. The goal is to reach the code path where a graphics object is freed while a reference to it still exists in kernel memory.
-
Winning the Race: Because the vulnerability involves a race condition (reflected in the High attack complexity), the attacker must time their operations so that the freed memory is accessed through the dangling pointer before the system cleans up or reassigns the reference on its own. This likely involves concurrent threads or carefully timed system calls.
-
Heap Spray or Object Replacement: After the target object is freed, the attacker tries to reclaim the freed memory with attacker-controlled data. If the kernel allocator places a new attacker-crafted object in the same memory location, the next dereference of the dangling pointer will operate on attacker-controlled data.
-
Privilege Escalation: With control over the contents of the reallocated memory, the attacker can corrupt kernel structures (such as token objects or process structures) and elevate their process to SYSTEM integrity level.
A successful exploit grants SYSTEM privileges, which means full control over the host: the attacker can install software, access all files, create new accounts, and pivot further into the network.
Exploitability Assessment
Microsoft rates this vulnerability as "Exploitation Less Likely" and classifies exploit code maturity as "Unproven." The race condition is a real barrier. It makes any exploit attempt less reliable, and success may take many iterations. Still, Win32K use-after-free vulnerabilities have a long history of successful exploitation, and skilled attackers have repeatedly shown they can stabilize race-condition-based kernel exploits.
Patch Information
Microsoft released an official fix for CVE-2026-34347 on May 12, 2026, as part of the May 2026 Patch Tuesday cycle. The MSRC advisory lists the Remediation Level as "Official Fix," meaning a complete vendor solution is available.
The patch corrects object lifetime management in Win32K GRFX so the stale reference no longer occurs. Win32K is a closed-source Windows kernel component, so no source-level diff is publicly available. Microsoft distributes the fix only through its cumulative and hotpatch update channels.
The list of affected products is broad and covers both legacy and modern Windows versions:
| Platform | KB Article(s) | Patched Build |
|---|---|---|
| Windows Server 2022 | KB5087545 (cumulative) / KB5087424 (hotpatch) | 20348.5139 / 20348.5074 |
| Windows Server 2025 | KB5087539 (cumulative) / KB5087423 (hotpatch) | 26100.32860 / 26100.32772 |
| Windows Server 2022, 23H2 Edition | KB5087541 | 25398.2330 |
| Windows Server 2019 / Windows 10 v1809 | KB5087538 | 17763.8755 |
| Windows Server 2016 / Windows 10 v1607 | KB5087537 | 14393.9140 |
| Windows Server 2012 R2 | KB5087471 | 9600.23181 |
| Windows Server 2012 | KB5087470 | 9200.26079 |
| Windows 11 26H1 | KB5089548 | 28000.2113 |
| Windows 11 24H2 / 25H2 | KB5089549 (cumulative) / KB5089466 (hotpatch) | 26100.8457 / 26100.8390 (24H2); 26200.8457 / 26200.8390 (25H2) |
| Windows 11 23H2 | KB5087420 | 22631.7079 |
| Windows 10 21H2 / 22H2 | KB5087544 | 19044.7291 / 19045.7291 |
This release also includes hotpatch updates for Windows Server 2022, Windows Server 2025, and Windows 11 24H2/25H2. Hotpatch updates (e.g., KB5087424, KB5087423, KB5089466) apply the security fix in memory without a full reboot. The hotpatch builds are slightly lower (e.g., 20348.5074 vs. 20348.5139) because they carry only the security delta, while the cumulative update also bundles non-security quality improvements. Hotpatching is most useful on servers where uptime is critical.
All updates are available through Windows Update, Windows Update for Business, WSUS, and the Microsoft Update Catalog. Customer action is marked "Required" for every affected product, so administrators should verify installation across their fleet. Microsoft documents no workarounds.
Affected Systems and Versions
The vulnerability affects the Win32K GRFX component on all currently supported Windows client and server platforms. Affected versions and their patched builds include:
Windows Client:
- Windows 11 26H1 (patched at build 28000.2113)
- Windows 11 24H2 (patched at build 26100.8457)
- Windows 11 25H2 (patched at build 26200.8457)
- Windows 11 23H2 (patched at build 22631.7079)
- Windows 10 22H2 (patched at build 19045.7291)
- Windows 10 21H2 (patched at build 19044.7291)
- Windows 10 v1809 (patched at build 17763.8755)
- Windows 10 v1607 (patched at build 14393.9140)
Windows Server:
- Windows Server 2025 (patched at build 26100.32860)
- Windows Server 2022, 23H2 Edition (patched at build 25398.2330)
- Windows Server 2022 (patched at build 20348.5139)
- Windows Server 2019 (patched at build 17763.8755)
- Windows Server 2016 (patched at build 14393.9140)
- Windows Server 2012 R2 (patched at build 9600.23181)
- Windows Server 2012 (patched at build 9200.26079)
Any system running a build lower than the patched build for its version is vulnerable.
References
- MSRC Advisory: CVE-2026-34347
- NVD Entry: CVE-2026-34347
- CVE Record: CVE-2026-34347
- Microsoft Support: KB5087545
- Tenable: Microsoft's May 2026 Patch Tuesday
- Zero Day Initiative: May 2026 Security Update Review
- CIS Advisory: Critical Patches for Microsoft Products, May 12, 2026
- BleepingComputer: Microsoft May 2026 Patch Tuesday



