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

Executive Summary

None

Overview

7.8
CVSS HIGH
Important
MS Severity
Not Exploited
MS Exploit Status
Less Likely
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.00298 — 0.22255 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.00298
probability of exploitation in the next 30 days
0.22255 percentile - updated 2026-08-14
View on FIRST.org

Affected Products

30 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 5094042 (Monthly Rollup) Important Elevation of Privilege Yes
Windows Server 2012 (Server Core installation) 5094042 (Monthly Rollup) Important Elevation of Privilege Yes
Windows Server 2012 R2 5094041 (Monthly Rollup) Important Elevation of Privilege Yes
Windows Server 2012 R2 (Server Core installation) 5094041 (Monthly Rollup) Important Elevation of Privilege Yes
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

10 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
5094042 Monthly Rollup Yes
5094041 Monthly Rollup Yes
5094128 Security Update Yes
5094125 Security Update Yes

Patch Diff

ghidriff · udfs.sys (KB5094126)

Numeric truncation error (CWE-197) in udfs.sys UdfGetBlocksNeeded, local EoP via a crafted UDF image. The function converts a 64-bit byte offset/length into a logical block/sector number by right-shifting Vcb->LBSizeShift (Vcb+0x48). PRE: the converted result can exceed 32 bits but was used in a 32-bit slot with no upper-bound check, so a large 64-bit offset/length that does not fit in 32 bits even after the shift has its high bits silently dropped, producing a block/sector number smaller than the real value; that truncated value flows into a disk-I/O sector count or an MCB VBN, misaligning logical<->physical sectors or under-computing the extent. Diff of udfs.sys 10.0.26100.8521 -> .8655 (Jun 9 2026, KB5094126) confirms the fix: gated behind CFR flag Feature_3105867064, before the conversion if (*a3 < 0 || *a3 > 0xFFFFFFFF<<LBSizeShift) ExRaiseStatus(0xC000000D / STATUS_INVALID_PARAMETER). Note: our diff shows Feature_3105867064 (build/arch); the negative + 0xFFFFFFFF<<LBSizeShift bound is as described.

Pre-patch version 10.0.26100.8521 Download
Post-patch version 10.0.26100.8655 Download
Function Address Change Note
UdfGetBlocksNeeded code change code (offset/length range guard, CFR-gated) Post (Feature_3105867064): if ((longlong)*param_3 < 0 || 0xffffffffL<<(LBSizeShift&0x3f) < *param_3) ExRaiseStatus(0xC000000D). Pre: 64-bit offset/length shifted by LBSizeShift and used as a 32-bit VBN/sector count with no bound -> truncation.
Feature_3105867064 gate added (CFR gate) CFR flag gating the negative / 0xFFFFFFFF<<LBSizeShift bound before the 64->32-bit block conversion.
View full diff report View RCA report

Attack Path

A 64-bit offset/length that overflows 32 bits after the block shift truncates to a small VBN/sector count

Attack path for CVE-2026-40409 A 64-bit offset/length that overflows 32 bits after the block shift truncates to a small VBN/sector count 01 — ENTRY Unprivileged user mounts/opens a crafted UDF image or reaches a write path udfs.sys UdfGetBlocksNeeded converts a 64-bit byte offset/length to a block/sector number (>> Vcb->LBSizeShift). AV:L/PR:L. 02 — CONTROLLED INPUT Offset/length chosen so the block-converted value overflows 32 bits Even after >> LBSizeShift the value does not fit in 32 bits. 03 — MISSING CHECK Result used in a 32-bit slot with no upper-bound check (CWE-197) The high bits are silently dropped, yielding a block/sector number smaller than the real value. 04 — PRIMITIVE Truncated VBN/sector count -> misaligned extent / under-mapped run -> OOB access -> EoP The value flows into FsRtlAddLargeMcbEntry (VBN) or a disk-I/O sector count. The Jun 2026 fix (Feature_3105867064) rejects negative or >0xFFFFFFFF<<LBSizeShift inputs with STATUS_INVALID_PARAMETER.

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.

Known Exploits

Acknowledgments

Thanatos Tian (PolyU) of Diffract
R4nger with Kunlun Lab
Zhiniang Peng with HUST
@2st___ of Diffract
021w
1nv0k3r