Important CVSS 7 EPSS 0.00191 🔬 Patch diffed 2026-04 archive

Executive Summary

Concurrent execution using shared resource with improper synchronization ('race condition') in Windows Projected File System allows an authorized attacker to elevate privileges locally.

Overview

7
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.00191 — 0.09026 percentile
NVD CVSS 7 HIGH — differs from MSRC

CVSS Vector

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C
ATTACK VECTOR
Local
ATTACK COMPLEXITY
High
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.00191
probability of exploitation in the next 30 days
0.09026 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)

Race-condition use-after-free (CWE-362 + CWE-416) in the Windows Projected File System minifilter prjflt.sys PrjfCopyStreamData, local EoP. Running on the ProjFS expansion worker (PrjfExpansionWorker -> PrjfExpandFile -> PrjfCopyStreamData), it tracks the in-flight file in a per-union-context AVL handle table (UnionContext->AvlHandleTable) keyed by FileId (from StreamContext->Uuid), with entries _PRJ_HANDLE_AVL_TABLE_ENTRY{FileId, FileObject (from FltObjects->FileObject), FileHandle}. It RtlInsertElementGenericTableAvl's the entry, ObfReferenceObject's the FileObject if new, then calls PrjfSendGetFileStreamCommand (a user-mode round-trip that WAITS), and only afterwards RtlDeleteElementGenericTableAvl + ObDereferenceObjectDeferDelete. During the user-mode wait, another thread can operate on the same FileId/AVL entry without adequate synchronization, so the shared entry / referenced FILE_OBJECT can be freed or have its ref state changed concurrently -> this path then uses/dereferences a freed entry/object -> UAF. Runs in the SYSTEM expansion worker. IN-HOUSE ghidriff of prjflt.sys 10.0.26100.4202 -> .8246 confirms PrjfCopyStreamData is among the code-changed functions in the April fix (KB5083769); the precise synchronization instruction is heavily inlined and not cleanly isolable in the decompiled wide-span diff, so the mechanism follows the reporter PoC (serialize the AVL entry/FileObject lifetime across the user-mode command). Like the other April ProjFS fixes it is CFR-gated.

Pre-patch version 10.0.26100.4202 Download
Post-patch version 10.0.26100.8246 Download
Function Address Change Note
PrjfCopyStreamData code change code (AVL handle-table entry lifetime synchronized across user-mode command) Pre: RtlInsertElementGenericTableAvl(entry) -> ObfReferenceObject(FileObject if new) -> PrjfSendGetFileStreamCommand (user-mode wait) -> RtlDeleteElementGenericTableAvl -> ObDereferenceObjectDeferDelete; the AVL entry/FileObject lifetime is not synchronized across the wait, so a concurrent op on the same FileId frees/alters it -> UAF. Post (.8246): PrjfCopyStreamData reworked to synchronize the entry/object lifetime across the user-mode round-trip (confirmed changed in our diff; exact inlined instruction not isolable).
View full diff report View RCA report

Attack Path

A ProjFS stream-data expansion holds an AVL handle entry across a user-mode wait, letting a concurrent op free it mid-use

Attack path for CVE-2026-27927 A ProjFS stream-data expansion holds an AVL handle entry across a user-mode wait, letting a concurrent op free it mid-use 01 — ENTRY Local user drives ProjFS placeholder expansion (PrjfExpandFile -> PrjfCopyStreamData) prjflt.sys tracks the file in UnionContext->AvlHandleTable keyed by FileId (StreamContext->Uuid), referencing FltObjects->FileObject. AV:L/PR:L/AC:L. 02 — CONTROLLED INPUT PrjfCopyStreamData inserts the AVL entry, refs the FileObject, and sends a user-mode command PrjfSendGetFileStreamCommand messages the user-mode ProjFS provider and WAITS - a long window. 03 — PATH A concurrent thread operates on the same FileId / AVL entry during the wait The shared AVL entry / FILE_OBJECT lifetime is not synchronized across the user-mode round-trip. 04 — MISSING CHECK AVL entry / FileObject freed or ref-altered mid-use (CWE-362 -> CWE-416) When the command returns, RtlDeleteElementGenericTableAvl / ObDereferenceObjectDeferDelete operate on an entry/object whose lifetime was changed concurrently. 05 — PRIMITIVE Use of the freed AVL entry / FILE_OBJECT -> use-after-free -> EoP The SYSTEM expansion worker dereferences freed memory. The Apr 2026 fix (KB5083769) synchronizes the AVL entry/object lifetime across the user-mode call.

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