Important CVSS 7.8 EPSS 0.0024 🔬 Patch diffed 2026-04 archive

Executive Summary

Buffer over-read in Windows Projected File System allows an authorized attacker to elevate privileges locally.

Overview

7.8
CVSS HIGH
Important
MS Severity
Not Exploited
MS Exploit Status
Less Likely
MS Exploit Likelihood
Category Elevation of Privilege
Released Apr 14 2026
Last Updated Apr 14 2026
Publicly Disclosed No
CISA KEV Not Listed
Known Exploits None Known
EPSS Score 0.0024 — 0.15177 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.0024
probability of exploitation in the next 30 days
0.15177 percentile - updated 2026-08-14
View on FIRST.org

Affected Products

23 affected products
Product KB Article Severity Impact Restart Required
Windows 10 Version 1809 for 32-bit Systems 5082123 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 1809 for x64-based Systems 5082123 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for 32-bit Systems 5082200 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for ARM64-based Systems 5082200 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for x64-based Systems 5082200 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for 32-bit Systems 5082200 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for ARM64-based Systems 5082200 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for x64-based Systems 5082200 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 23H2 for ARM64-based Systems 5082052 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 23H2 for x64-based Systems 5082052 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 24H2 for ARM64-based Systems 5083769 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 24H2 for x64-based Systems 5083769 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 25H2 for ARM64-based Systems 5083769 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 25H2 for x64-based Systems 5083769 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 26H1 for ARM64-based Systems 5083768 (Security Update) Important Elevation of Privilege Yes
Windows 11 version 26H1 for x64-based Systems 5083768 (Security Update) Important Elevation of Privilege Yes
Windows Server 2019 5082123 (Security Update) Important Elevation of Privilege Yes
Windows Server 2019 (Server Core installation) 5082123 (Security Update) Important Elevation of Privilege Yes
Windows Server 2022 5082142 (Security Update) Important Elevation of Privilege Yes
Windows Server 2022 (Server Core installation) 5082142 (Security Update) Important Elevation of Privilege Yes
Windows Server 2022, 23H2 Edition (Server Core installation) 5082060 (Security Update) Important Elevation of Privilege Yes
Windows Server 2025 5082063 (Security Update) Important Elevation of Privilege Yes
Windows Server 2025 (Server Core installation) 5082063 (Security Update) Important Elevation of Privilege Yes

Patches

8 patches
Article Type Restart
5082123 Security Update Yes
5082200 Security Update Yes
5082052 Security Update Yes
5083769 Security Update Yes
5083768 Security Update Yes
5082142 Security Update Yes
5082060 Security Update Yes
5082063 Security Update Yes

Patch Diff

ghidriff · prjflt.sys (KB5083769)

Buffer over-read (CWE-126) in the Windows Projected File System minifilter prjflt.sys PrjfPortConnect, local EoP. The ProjFS filter-port connect callback receives a client _PRJ_CONNECTION_CONTEXT with a VolumeLength field and an inline szVolume (a WCHAR string). PRE: it validated `SizeOfContext >= ConnectionContext->VolumeLength + 0x16`, treating the WCHAR count VolumeLength as a byte length; because szVolume is WCHAR its real byte size is VolumeLength*2, so a client can declare a VolumeLength up to ~2x the real space and still pass, making the UNICODE_STRING built from szVolume extend past the end of the context buffer. That over-read UNICODE_STRING is then used as the ObjectName for ZwCreateFile (via PrjfGetInstanceFromVolumeName -> FltGetVolumeFromName), reading out-of-bounds kernel pool. Diff of prjflt.sys 10.0.26100.8115 -> .8246 (Apr 14 2026, KB5083769) confirms the fix: gated behind CFR flag Feature_3411221816, PrjfPortConnect doubles VolumeLength (sVar5 = sVar5*2, WCHAR->bytes, with an overflow guard (ushort)(sVar5-1)<0x7fff) before the bounds check, so a name that would run past the context is rejected. Note: our diff shows Feature_3411221816 (build/arch); the *2 correction is as described.

Pre-patch version 10.0.26100.8115 Download
Post-patch version 10.0.26100.8246 Download
Function Address Change Note
PrjfPortConnect code change code (VolumeLength doubled for WCHAR in bounds check, CFR-gated) Pre: if (SizeOfContext >= VolumeLength + 0x16) - WCHAR szVolume validated as bytes -> under-check by 2x, UNICODE_STRING reads past the context. Post (Feature_3411221816): sVar5=VolumeLength; if (feature && (ushort)(sVar5-1)<0x7fff) sVar5=sVar5*2; then require SizeOfContext >= sVar5+0x16.
Feature_3411221816 gate added (CFR gate) CFR flag gating the WCHAR-aware (x2) length check; original under-validating check still ships when disabled.
View full diff report View RCA report

Attack Path

A ProjFS connection context declares a WCHAR volume name validated as bytes, so the name UNICODE_STRING over-reads the context

Attack path for CVE-2026-26184 A ProjFS connection context declares a WCHAR volume name validated as bytes, so the name UNICODE_STRING over-reads the context 01 — ENTRY Local user connects to the ProjFS filter port with a crafted _PRJ_CONNECTION_CONTEXT prjflt.sys PrjfPortConnect receives VolumeLength and an inline WCHAR szVolume. AV:L/PR:L/AC:L. 02 — CONTROLLED INPUT Sets VolumeLength so VolumeLength*2 exceeds the context but VolumeLength+0x16 passes szVolume is WCHAR (2 bytes/char); the real byte size is VolumeLength*2. 03 — MISSING CHECK Bounds check uses VolumeLength as a byte length (CWE-126) if (SizeOfContext >= VolumeLength + 0x16) under-validates by ~2x, so the szVolume UNICODE_STRING extends past the connection-context buffer. 04 — PATH The over-read UNICODE_STRING is used as ZwCreateFile ObjectName PrjfGetInstanceFromVolumeName -> FltGetVolumeFromName -> ZwCreateFile reads out-of-bounds kernel pool as the volume name. 05 — PRIMITIVE Out-of-bounds kernel read -> info disclosure / corruption -> EoP The Apr 2026 fix (Feature_3411221816) doubles VolumeLength (WCHAR->bytes) before the check so over-length names are rejected.

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

ChenJian with Sea Security Orca Team