Critical CVSS 8.8 EPSS 0.00269 🔬 Patch diffed 2026-07 archive

Executive Summary

Untrusted pointer dereference in Windows DirectX allows an authorized attacker to execute code locally.

Overview

8.8
CVSS HIGH
Critical
MS Severity
Not Exploited
MS Exploit Status
Less Likely
MS Exploit Likelihood
Category Remote Code Execution
Released Jul 14 2026
Last Updated Jul 14 2026
Publicly Disclosed No
CISA KEV Not Listed
Known Exploits None Known
EPSS Score 0.00269 — 0.19018 percentile
NVD CVSS 8.8 HIGH — matches MSRC

CVSS Vector

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H/E:U/RL:O/RC:C
ATTACK VECTOR
Local
ATTACK COMPLEXITY
Low
PRIVILEGES REQUIRED
Low
USER INTERACTION
None
SCOPE
Changed
CONFIDENTIALITY
High
INTEGRITY
High
AVAILABILITY
High
EXPLOIT CODE MATURITY
Unproven
REMEDIATION LEVEL
Official Fix
REPORT CONFIDENCE
Confirmed
Temporal Score: 7.7

EPSS Score

0.00269
probability of exploitation in the next 30 days
0.19018 percentile - updated 2026-08-14
View on FIRST.org

Affected Products

19 affected products
Product KB Article Severity Impact Restart Required
Windows 10 Version 1809 for 32-bit Systems 5099538 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 1809 for x64-based Systems 5099538 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 21H2 for 32-bit Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 21H2 for ARM64-based Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 21H2 for x64-based Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 22H2 for 32-bit Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 22H2 for ARM64-based Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 22H2 for x64-based Systems 5099539 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 24H2 for ARM64-based Systems 5101650 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 24H2 for x64-based Systems 5101650 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 25H2 for ARM64-based Systems 5101650 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 25H2 for x64-based Systems 5101650 (Security Update) Critical Remote Code Execution Yes
Windows 11 Version 26H1 for ARM64-based Systems 5101649 (Security Update) Critical Remote Code Execution Yes
Windows 11 version 26H1 for x64-based Systems 5095051 (Security Update) Critical Remote Code Execution Yes
Windows Server 2019 5099538 (Security Update) Critical Remote Code Execution Yes
Windows Server 2019 (Server Core installation) 5099538 (Security Update) Critical Remote Code Execution Yes
Windows Server 2022 5099540 (Security Update) Critical Remote Code Execution Yes
Windows Server 2025 5099536 (Security Update) Critical Remote Code Execution Yes
Windows Server 2025 (Server Core installation) 5099536 (Security Update) Critical Remote Code Execution Yes

Patches

7 patches
Article Type Restart
5099538 Security Update Yes
5099539 Security Update Yes
5101650 Security Update Yes
5101649 Security Update Yes
5095051 Security Update Yes
5099540 Security Update Yes
5099536 Security Update Yes

Patch Diff

ghidriff · dxgkrnl.sys (KB5101650)

Untrusted pointer dereference (CWE-822) in the DirectX Graphics Kernel dxgkrnl.sys host virtual-GPU VMBus provider, Hyper-V guest-to-host remote code execution (Critical, AV:L, PR:L, Scope:Changed, CVSS 8.8). On a Hyper-V host, DXG_HOST_VIRTUALGPU_VMBUS::VmBusQueryAdapterInfo services a guest's D3DKMT QueryAdapterInfo request forwarded over VMBus: it copies the guest's private driver data into a host buffer and passes the request - including the guest-supplied Type - to DxgkQueryAdapterInfoImpl. PRE: the guest-controlled Type reached the implementation unfiltered; for Type == KMTQAITYPE_PHYSICALADAPTERPNPKEY (0x29) the implementation dereferences a pointer derived from the request data - an untrusted pointer dereference executed in the host kernel on behalf of the guest. Because a low-privileged guest actor can drive this against the host (Scope changes from guest to host), it is a guest-to-host RCE primitive (Critical 8.8). Diff of dxgkrnl.sys 10.0.26100.8737 -> .8875 (Jul 14 2026, KB5101650, 24H2/Server 2025) confirms the fix: gated behind CFR flag Feature_2095820091, VmBusQueryAdapterInfo (ratio 0.63) now rejects Type == 0x29 over VMBus - it logs a triage event (DxgkLogTriageEvent 'Unsupported QueryAdapterInfo type over VMBus: 0x%I64x') and returns STATUS_INVALID_PARAMETER instead of calling DxgkQueryAdapterInfoImpl. Confirmation level: the fix rejects the query type at the VMBus boundary; the exact pointer dereference inside DxgkQueryAdapterInfoImpl was not traced, so no specific memory-corruption primitive is asserted. Cross-checked against an independent writeup (function, string, and 0x29 constant match the ghidriff; the writeup cites Feature_2364255544 while the ghidriff shows Feature_2095820091).

Pre-patch version 10.0.26100.8737 Download
Post-patch version 10.0.26100.8875 Download
Function Address Change Note
DXG_HOST_VIRTUALGPU_VMBUS::VmBusQueryAdapterInfo code change code (rejects KMTQAITYPE_PHYSICALADAPTERPNPKEY (0x29) over VMBus, CFR-gated) Pre: passed the guest-controlled Type straight to DxgkQueryAdapterInfoImpl. Post (Feature_2095820091, ratio 0.63): if (feature && Type == 0x29) { WdLogSingleEntry1(2); DxgkLogTriageEvent(...,'Unsupported QueryAdapterInfo type over VMBus: 0x%I64x'); return STATUS_INVALID_PARAMETER; } else DxgkQueryAdapterInfoImpl(...). Blocks the untrusted-pointer-dereference query type at the guest->host boundary.
Feature_2095820091 gate added (CFR gate) CFR flag gating the VMBus QueryAdapterInfo type restriction; the original unfiltered path ships when disabled. (An independent writeup cites Feature_2364255544 for the same fix.)
View full diff report View RCA report

Attack Path

A guest VM's QueryAdapterInfo(PHYSICALADAPTERPNPKEY) over VMBus drives an untrusted pointer dereference in the host kernel

Attack path for CVE-2026-50382 A guest VM's QueryAdapterInfo(PHYSICALADAPTERPNPKEY) over VMBus drives an untrusted pointer dereference in the host kernel 01 — ENTRY Attacker in a Hyper-V guest VM issues a crafted D3DKMT QueryAdapterInfo over VMBus dxgkrnl.sys on the HOST services it via DXG_HOST_VIRTUALGPU_VMBUS::VmBusQueryAdapterInfo. AV:L / PR:L / Scope:Changed (guest -> host). 02 — CONTROLLED INPUT Sets Type = KMTQAITYPE_PHYSICALADAPTERPNPKEY (0x29) The guest controls the request's Type and private driver data; pre-patch the Type is passed to DxgkQueryAdapterInfoImpl unfiltered. 03 — MISSING CHECK Host dereferences an untrusted pointer (CWE-822) For Type 0x29 the implementation dereferences a pointer derived from the guest-supplied request data, in the host kernel. 04 — IMPACT Untrusted pointer dereference -> guest-to-host code execution The controlled dereference in the host DirectX kernel is a guest-to-host RCE primitive (Critical, 8.8, scope-changed).

Derived from the patch delta: the checks added by the vendor identify which fields crossed a trust boundary unvalidated. Reachability and privilege are taken from the call chain in the RCA report.

Exploits & PoC

Detection Rules

Acknowledgments

pwn2addr