Important CVSS 7.8 EPSS 0.261 ⚠️ Exploited in the wild 🔬 Patch diffed 2023-09 archive

Executive Summary

None

Overview

7.8
CVSS HIGH
Important
MS Severity
Exploited
MS Exploit Status
Exploitation Detected
MS Exploit Likelihood
Category Elevation of Privilege
Released Sep 12 2023
Last Updated Sep 12 2023
Publicly Disclosed No
CISA KEV Not Listed
Known Exploits None Known
EPSS Score 0.261 — 0.97807 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.261
probability of exploitation in the next 30 days
0.97807 percentile - updated 2026-08-14
View on FIRST.org

Affected Products

15 affected products
Product KB Article Severity Impact Restart Required
Windows 10 Version 1809 for 32-bit Systems 5030214 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 1809 for ARM64-based Systems 5030214 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 1809 for x64-based Systems 5030214 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for 32-bit Systems 5030211 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for ARM64-based Systems 5030211 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for x64-based Systems 5030211 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for 32-bit Systems 5030211 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for ARM64-based Systems 5030211 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for x64-based Systems 5030211 (Security Update) Important Elevation of Privilege Yes
Windows 11 version 21H2 for ARM64-based Systems 5030217 (Security Update) Important Elevation of Privilege Yes
Windows 11 version 21H2 for x64-based Systems 5030217 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 22H2 for ARM64-based Systems 5030219 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 22H2 for x64-based Systems 5030219 (Security Update) Important Elevation of Privilege Yes
Windows Server 2019 5030214 (Security Update) Important Elevation of Privilege Yes
Windows Server 2019 (Server Core installation) 5030214 (Security Update) Important Elevation of Privilege Yes

Patches

4 patches
Article Type Restart
5030214 Security Update Yes
5030211 Security Update Yes
5030217 Security Update Yes
5030219 Security Update Yes

Patch Diff

ghidriff · mskssrv.sys (KB5030219)

Type confusion between FsContextReg (0x78 bytes, type 1) and FsStreamReg (0x1D8 bytes, type 2) via FsContext2. FindObject searched both object lists without type validation, allowing OOB access. Fix renames to FindStreamObject and adds type==2 check. Exploited in the wild.

Pre-patch version 10.0.22621.1848 Download
Post-patch version 10.0.22621.2283 Download
Function Address Change Note
FSRendezvousServer::FindObject code, name, fullname, length, sig, address Renamed to FindStreamObject; type field check (*(int*)(param_1+0x30)==2) added; context-list search removed
FSRendezvousServer::Close code, length, called Context-list search (type==1) inlined; now calls FindStreamObject instead of FindObject
View full diff report View RCA report Download PoC

Attack Path

Local EoP via type confusion between two FSContext object types in mskssrv.sys - exploited in the wild

Attack path for CVE-2023-36802 Local EoP via type confusion between two FSContext object types in mskssrv.sys - exploited in the wild 01 — ENTRY Attacker opens the Microsoft Streaming Service proxy device twice CreateFile("\\.\MSKSSRV") x2, driving SrvDispatchCreate. mskssrv.sys auto-loads when any process touches the KS proxy device and is reachable by standard users. 02 — CONTROLLED INPUT Allocates two different context types behind the same FsContext2 slot IOCTL 0x2f0400 (FSInitializeContextRendezvous) allocates a 0x78-byte FSContextReg tagged type 1. IOCTL 0x2f0404 (InitializeStream) allocates a 0x1D8-byte FSStreamReg tagged type 2. Both land in FsContext2+0x20. 03 — PATH Closing the first handle drives the close path into object lookup CloseHandle(h1) -> SrvDispatchClose -> FSRendezvousServer::Close, which reads the object pointer back out of FsContext2+0x20 and hands it to FindObject. 04 — MISSING CHECK FSRendezvousServer::FindObject never checks the object's type tag It dispatches virtual methods on whichever object it finds, so a type-2 FSStreamReg (0x1D8) can be driven through type-1 FSContextReg (0x78) code paths. The patch adds the missing type validation before dispatch. 05 — PRIMITIVE Wrong-type virtual dispatch gives a kernel pool out-of-bounds primitive Field offsets valid for one layout read and write past the end of the other, 0x160 bytes apart. Weaponisation needs heap shaping around the smaller allocation.

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

Microsoft Security Response Center
Microsoft Threat Intelligence
Guanghui Xia(@ze0r)
Valentina Palmiotti
Quan Jin(@jq0904) & ze0r with DBAPPSecurity WeBin Lab