Important CVSS 7.8 EPSS 0.00286 🔬 Patch diffed 2026-06 archive

Executive Summary

Integer overflow or wraparound in Windows Internet (wininet.dll) allows an authorized attacker to elevate privileges locally.

Overview

7.8
CVSS HIGH
Important
MS Severity
Not Exploited
MS Exploit Status
Exploitation Unlikely
MS Exploit Likelihood
Category Elevation of Privilege
Released Jun 9 2026
Last Updated Jun 9 2026
Publicly Disclosed No
CISA KEV Not Listed
Known Exploits None Known
EPSS Score 0.00286 — 0.21027 percentile
NVD CVSS 7.8 HIGH — matches MSRC

CVSS Vector

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/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
Unchanged
CONFIDENTIALITY
High
INTEGRITY
High
AVAILABILITY
High
EXPLOIT CODE MATURITY
Unproven
REMEDIATION LEVEL
Official Fix
REPORT CONFIDENCE
Confirmed
Temporal Score: 6.8

EPSS Score

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

Affected Products

26 affected products
Product KB Article Severity Impact Restart Required
Windows 10 Version 1607 for 32-bit Systems 5094122 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 1607 for x64-based Systems 5094122 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 1809 for 32-bit Systems 5094123 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 1809 for x64-based Systems 5094123 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for 32-bit Systems 5094127 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for ARM64-based Systems 5094127 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for x64-based Systems 5094127 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for 32-bit Systems 5094127 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for ARM64-based Systems 5094127 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for x64-based Systems 5094127 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 23H2 for ARM64-based Systems 5093998 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 23H2 for x64-based Systems 5093998 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 24H2 for ARM64-based Systems 5094126 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 24H2 for x64-based Systems 5094126 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 25H2 for ARM64-based Systems 5094126 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 25H2 for x64-based Systems 5094126 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 26H1 for ARM64-based Systems 5095051 (Security Update) Important Elevation of Privilege Yes
Windows 11 version 26H1 for x64-based Systems 5095051 (Security Update) Important Elevation of Privilege Yes
Windows Server 2012 R2 5094041 (Monthly Rollup) 5094006 (IE Cumulative) Important Elevation of Privilege 5087471 5082806 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.3.9600.23228 1.000 Yes None Windows Server 2012 R2 (Server Core installation) 5094041 (Monthly Rollup) 5094006 (IE Cumulative) Important Elevation of Privilege 5087471 5082806 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.3.9600.23228 1.000 Yes None Windows Server 2016 5094122 (Security Update) Important Elevation of Privilege Yes
Windows Server 2016 (Server Core installation) 5094122 (Security Update) Important Elevation of Privilege Yes
Windows Server 2019 5094123 (Security Update) Important Elevation of Privilege Yes
Windows Server 2019 (Server Core installation) 5094123 (Security Update) Important Elevation of Privilege Yes
Windows Server 2022 5094128 (Security Update) Important Elevation of Privilege Yes
Windows Server 2022 (Server Core installation) 5094128 (Security Update) Important Elevation of Privilege Yes
Windows Server 2025 5094125 (Security Update) Important Elevation of Privilege Yes
Windows Server 2025 (Server Core installation) 5094125 (Security Update) Important Elevation of Privilege Yes

Patches

8 patches
Article Type Restart
5094122 Security Update Yes
5094123 Security Update Yes
5094127 Security Update Yes
5093998 Security Update Yes
5094126 Security Update Yes
5095051 Security Update Yes
5094128 Security Update Yes
5094125 Security Update Yes

Patch Diff

ghidriff · wininet.dll (KB5094126)

Integer overflow (CWE-190) leading to a use-after-free (CWE-416) in the Windows WinINet wininet.dll global cache-server reference counting, local EoP. WinINet's global cache server (CCacheServer) is reference-counted via process-global counters g_ulStrongReferences / g_ulWeakReferences; CCacheServer::StrongReferenceGlobalCacheServer / WeakReferenceGlobalCacheServer increment them and Strong/WeakReleaseGlobalCacheServer decrement, freeing the CCacheServer when the strong count reaches 0. PRE: the counters were 32-bit and incremented without an overflow check (g_ulStrongReferences = g_ulStrongReferences + 1), so a caller taking a very large number of references could wrap the 32-bit counter back to 0; a subsequent Release then observes count == 0 and frees the still-referenced CCacheServer - a reference-count overflow yielding a use-after-free of the cache server. Diff of wininet.dll 11.00.26100.8521 -> .8655 (Jun 9 2026, KB5094126) confirms the fix: gated behind CFR flag Feature_3431463225, the reference counters are widened to 64-bit (g_ullStrongReferences / g_ullWeakReferences) and the increment is saturated - if (!feature || count != 0xffffffffffffffff) count = count + 1 - so the count cannot wrap to 0, and access is serialized with AutoCritSec::Lock/Unlock; the release paths use the widened counters, closing the overflow-to-UAF.

Pre-patch version 11.00.26100.8521 Download
Post-patch version 11.00.26100.8655 Download
Function Address Change Note
CCacheServer::StrongReferenceGlobalCacheServer code change code (64-bit + saturating refcount under lock, CFR-gated) Pre: g_ulStrongReferences = g_ulStrongReferences + 1 (32-bit, unchecked). Post (Feature_3431463225): AutoCritSec::Lock; if (!feature || g_ullStrongReferences != 0xffffffffffffffff) g_ullStrongReferences++ (64-bit, saturating); AutoCritSec::Unlock.
CCacheServer::WeakReferenceGlobalCacheServer code change code (64-bit + saturating weak refcount under lock, CFR-gated) Same widening + saturation guard for g_ullWeakReferences under AutoCritSec lock.
CCacheServer::StrongReleaseGlobalCacheServer / WeakReleaseGlobalCacheServer code change code (use widened 64-bit counters) Release paths decrement the widened g_ullStrongReferences / g_ullWeakReferences (frees CCacheServer when strong count reaches 0).
CCacheServer::CCacheServer / Lock / Unlock code change code (locking / condition-variable init) Ctor and Lock/Unlock updated to initialize/use the critical section + condition variable guarding the counters.
Feature_3431463225 gate added (CFR gate) CFR flag gating the 64-bit saturating reference counting; the original 32-bit unchecked increment still ships when disabled.
View full diff report View RCA report

Attack Path

Overflowing the WinINet cache-server reference count wraps it to 0, freeing the still-referenced server

Attack path for CVE-2026-45592 Overflowing the WinINet cache-server reference count wraps it to 0, freeing the still-referenced server 01 — ENTRY Local process drives WinINet cache-server references wininet.dll CCacheServer::StrongReferenceGlobalCacheServer increments the process-global g_ulStrongReferences. AV:L/PR:L. 02 — CONTROLLED INPUT Takes a very large number of references Repeated referencing pushes the 32-bit counter toward its maximum. 03 — MISSING CHECK 32-bit reference count increments without an overflow check (CWE-190) The counter wraps from 0xffffffff back to 0 while references are still outstanding. 04 — PATH A Release sees count == 0 and frees the still-referenced CCacheServer (CWE-416) StrongReleaseGlobalCacheServer frees the cache server though other references remain -> use-after-free. 05 — PRIMITIVE Reference-count overflow -> use-after-free -> EoP The Jun 2026 fix (Feature_3431463225) widens the counters to 64-bit and saturates the increment (won't pass 0xffffffffffffffff).

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

anonymous