Important CVSS 7.8 EPSS 0.00398 🔬 Patch diffed 2025-01 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 Jan 14 2025
Last Updated Jan 14 2025
Publicly Disclosed No
CISA KEV Not Listed
Known Exploits None Known
EPSS Score 0.00398 — 0.32895 percentile
NVD CVSS 7.8 HIGH — matches MSRC

CVSS Vector

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

EPSS Score

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

Affected Products

5 affected products
Product KB Article Severity Impact Restart Required
Windows 11 Version 24H2 for ARM64-based Systems 5050009 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 24H2 for x64-based Systems 5050009 (Security Update) Important Elevation of Privilege Yes
Windows Server 2022, 23H2 Edition (Server Core installation) 5049984 (Security Update) Important Elevation of Privilege Yes
Windows Server 2025 5050009 (Security Update) Important Elevation of Privilege Yes
Windows Server 2025 (Server Core installation) 5050009 (Security Update) Important Elevation of Privilege Yes

Patches

2 patches
Article Type Restart
5050009 Security Update Yes
5049984 Security Update Yes

Patch Diff

ghidriff · bfs.sys (KB5050009)

Patch diff 10.0.26100.2454 -> 10.0.26100.2894 (per-CVE override for CVE-2025-21372; same bfs.sys diff as bfs_sys-kb5050009.json, with this CVE's own RCA and PoC links)

Pre-patch version 10.0.26100.2454 Download
Post-patch version 10.0.26100.2894 Download
Function Address Change Note
BfsDereferencePolicyEntryEx 1c0004fa0 -> 1c0005160 code, name, fullname, length, sig, address, called similarity 0.92
BfsCheckAndReleaseIdlePolicy 1c0004e00 -> 1c0004ea4 code, length, address, called similarity 0.61
View full diff report View RCA report Download PoC

Attack Path

Refcount decremented before the lock is taken - two releasers both observe the last reference

Attack path for CVE-2025-21372 Refcount decremented before the lock is taken - two releasers both observe the last reference Thread A PipeMappingTable lock PipeEntry (RefCt) Two threads hold the same named-pipe mapping, RefCt = 2 1 bfs.sys named-pipe mappings are reachable by unprivileged callers. Thread A: _InterlockedExchangeAdd(&PipeEntry->RefCt, -1) returns 1 2 BfsReleaseNamedPipeMapping decrements FIRST, then acquires the PipeMappingTable pushlock - the wrong order. RefCt is now 1. Thread A blocks waiting on the pushlock 3 dashed Thread B decrements 1 -> 0, takes the lock, sees RefCt == 0, frees the entry 4 Thread B's decrement-and-test is correct in isolation; the defect is that Thread A already committed its decrement outside the lock. Thread A acquires the lock and operates on the freed PipeEntry 5 Kernel pool use-after-free. The fix is to decrement under the lock so the last-reference test and the free are atomic together.

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

hazard