Critical CVSS 8.1 EPSS 0.00916 🔬 Patch diffed 2026-07 archive

Executive Summary

Concurrent execution using shared resource with improper synchronization ('race condition') in Windows Server Network driver allows an unauthorized attacker to execute code over a network.

Overview

8.1
CVSS HIGH
Critical
MS Severity
Not Exploited
MS Exploit Status
More 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.00916 — 0.57084 percentile
NVD CVSS 8.1 HIGH — differs from MSRC

CVSS Vector

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

EPSS Score

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

Affected Products

27 affected products
Product KB Article Severity Impact Restart Required
Windows 10 Version 1607 for 32-bit Systems 5099535 (Security Update) Critical Remote Code Execution Yes
Windows 10 Version 1607 for x64-based Systems 5099535 (Security Update) Critical Remote Code Execution Yes
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 5101649 (Security Update) Critical Remote Code Execution Yes
Windows Server 2012 5099445 (Monthly Rollup) Critical Remote Code Execution Yes
Windows Server 2012 (Server Core installation) 5099445 (Monthly Rollup) Critical Remote Code Execution Yes
Windows Server 2012 R2 5099444 (Monthly Rollup) Critical Remote Code Execution Yes
Windows Server 2012 R2 (Server Core installation) 5099444 (Monthly Rollup) Critical Remote Code Execution Yes
Windows Server 2016 5099535 (Security Update) Critical Remote Code Execution Yes
Windows Server 2016 (Server Core installation) 5099535 (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

9 patches
Article Type Restart
5099535 Security Update Yes
5099538 Security Update Yes
5099539 Security Update Yes
5101650 Security Update Yes
5101649 Security Update Yes
5099445 Monthly Rollup Yes
5099444 Monthly Rollup Yes
5099540 Security Update Yes
5099536 Security Update Yes

Patch Diff

ghidriff · netbt.sys (KB5101650)

Race condition (CWE-362) in the Windows NetBIOS over TCP/IP driver netbt.sys ('Windows Server Network driver'), unauthenticated remote code execution over the network (Critical, AV:N, CVSS 9.8). netbt.sys manages NetBT lower connections (the TCP connections under NetBIOS sessions): created by NbtOpenAndAssocConnection, referenced/dereferenced by NbtDereferenceLowerConnection / NbtDeleteLowerConn, and torn down by a family of disconnect/cleanup routines (NbtDisconnect, TdiDisconnect, TcpDisconnect, DisconnectLower, DelayedCleanupAfterDisconnect, DisconnectDone, OutOfRsrcKill) while inbound data is delivered via TdiReceiveHandler / NTReceive / NbtIndicateDataToClient. PRE: the lower-connection object shared between teardown and in-flight receive/send paths was not adequately synchronized, so a disconnect/cleanup could dereference and free the connection while a receive was still in progress - a race corrupting/reusing freed connection state. Because NetBT processes attacker-supplied network traffic without authentication, the race is an RCE primitive (Microsoft rates it Critical 9.8). Diff of netbt.sys 10.0.26100.8737 (KB5095093, Jun) -> .8875 (KB5101650, Jul 14 2026, 24H2/Server 2025) confirms the fix: gated behind CFR flag Feature_1180933432 (the same flag as the SMB srvnet.sys CVE-2026-57089 - a coordinated network-driver hardening), the teardown/dereference routines now acquire the connection spinlock (KeAcquireSpinLockRaiseToDpc, ~193 KeAcquireSpinLock sites across the 30 changed functions) and validate the connection signature ('Con1'/'Con2' = 0x316e6f43/0x326e6f43) and state before releasing the object, so teardown can no longer free the connection while a receive is in flight. Stated at confirmed-changed level (broad 30-function connection-lifecycle rework; the isolable mechanism is the spinlock-serialized, state-validated teardown/dereference).

Pre-patch version 10.0.26100.8737 Download
Post-patch version 10.0.26100.8875 Download
Function Address Change Note
NbtDereferenceLowerConnection / NbtDeleteLowerConn code change code (dereference now serialized under the MODULE-GLOBAL lock, CFR-gated) NBT_LOWERCONNECTION: refcount +0x14, upper-connection link +0x18, per-connection lock +0x68. Pre: NbtDereferenceLowerConnection took ONLY the per-connection lock (+0x68) around the interlocked decrement. Post (Feature_1180933432): extends the module-global lock (already used by CleanUpPartialConnection/CleanupConnectingState/CountUpperConnections) to this function so the dereference is serialized against those routines; a 3rd param signals the caller already holds the global lock. The interlocked decrement is unchanged; the legacy state=1000 poison-write is dropped when the feature is enabled.
NbtDisconnect / TdiDisconnect / TcpDisconnect / DisconnectLower / DelayedCleanupAfterDisconnect / DisconnectDone / OutOfRsrcKill code change code (disconnect/cleanup family serialized under the connection lock) The connection-teardown routines are reworked to serialize on the connection spinlock (dominant KeAcquireSpinLock usage) so teardown does not race in-flight I/O. 30 code-changed + 58 modified functions total.
Feature_1180933432 gate added (CFR gate) CFR flag gating the serialized NetBT connection teardown; also gates the SMB srvnet.sys CVE-2026-57089 fix (coordinated network-driver hardening). Original unsynchronized path ships when disabled.
View full diff report View RCA report

Attack Path

A race between NetBT connection teardown and an in-flight receive frees the connection object while still in use

Attack path for CVE-2026-56188 A race between NetBT connection teardown and an in-flight receive frees the connection object while still in use 01 — ENTRY Unauthenticated attacker sends crafted NetBT traffic to the server netbt.sys processes NetBIOS session traffic (TCP/139) and manages lower connections. AV:N / PR:N / UI:N (network, no auth). 02 — CONTROLLED INPUT Races a connection disconnect/cleanup against an in-flight receive The attacker drives connect/teardown churn so a disconnect runs concurrently with a receive/indicate on the same NetBT lower connection. 03 — MISSING CHECK Lower-connection object freed while still referenced (CWE-362) Pre-patch teardown/dereference is not serialized against the receive path, so the connection object is freed/reused mid-use. 04 — IMPACT Freed connection reuse -> remote code execution The freed NetBT connection object is reclaimed/reused in the kernel driver, giving an unauthenticated network attacker code execution (Critical, 9.8).

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