Important CVSS 7.8 EPSS 0.00375 🔬 Patch diffed 2025-11 archive

Executive Summary

External control of file name or path in Windows WLAN Service 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 Nov 11 2025
Last Updated Nov 11 2025
Publicly Disclosed No
CISA KEV Not Listed
Known Exploits None Known
EPSS Score 0.00375 — 0.30532 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.00375
probability of exploitation in the next 30 days
0.30532 percentile - updated 2026-08-14
View on FIRST.org

Affected Products

13 affected products
Product KB Article Severity Impact Restart Required
Windows 10 Version 1809 for 32-bit Systems 5068791 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 1809 for x64-based Systems 5068791 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for 32-bit Systems 5068781 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for ARM64-based Systems 5068781 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 21H2 for x64-based Systems 5068781 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for 32-bit Systems 5068781 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for ARM64-based Systems 5068781 (Security Update) Important Elevation of Privilege Yes
Windows 10 Version 22H2 for x64-based Systems 5068781 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 23H2 for ARM64-based Systems 5068865 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 23H2 for x64-based Systems 5068865 (Security Update) Important Elevation of Privilege Yes
Windows 11 Version 24H2 for ARM64-based Systems 5068861 (Security Update) 5068966 (Security Hotpatch Update) Important Elevation of Privilege 5066835 Base: 7.8 Temporal: 6.8 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 10.0.26100.7171 10.0.26100.7092 Yes None Windows 11 Version 24H2 for x64-based Systems 5068861 (Security Update) 5068966 (Security Hotpatch Update) Important Elevation of Privilege 5066835 Base: 7.8 Temporal: 6.8 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 10.0.26100.7171 10.0.26100.7092 Yes None Windows 11 Version 25H2 for ARM64-based Systems 5068861 (Security Update) 5068966 (Security Hotpatch Update) Important Elevation of Privilege 5066835 Base: 7.8 Temporal: 6.8 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 10.0.26200.7171 10.0.26200.7092 Yes None Windows 11 Version 25H2 for x64-based Systems 5068861 (Security Update) 5068966 (Security Hotpatch Update) Important Elevation of Privilege 5066835 Base: 7.8 Temporal: 6.8 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 10.0.26200.7171 10.0.26200.7092 Yes None Windows Server 2019 5068791 (Security Update) Important Elevation of Privilege Yes
Windows Server 2019 (Server Core installation) 5068791 (Security Update) Important Elevation of Privilege Yes
Windows Server 2022 5068787 (Security Update) 5068840 (Security Hotpatch Update) Important Elevation of Privilege 5066782 Base: 7.8 Temporal: 6.8 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 10.0.20348.4405 10.0.20348.4346 Yes None Windows Server 2022 (Server Core installation) 5068787 (Security Update) 5068840 (Security Hotpatch Update) Important Elevation of Privilege 5066782 Base: 7.8 Temporal: 6.8 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 10.0.20348.4405 10.0.20348.4346 Yes None Windows Server 2022, 23H2 Edition (Server Core installation) 5068779 (Security Update) Important Elevation of Privilege Yes

Patches

4 patches
Article Type Restart
5068791 Security Update Yes
5068781 Security Update Yes
5068865 Security Update Yes
5068779 Security Update Yes

Patch Diff

ghidra-decompile · wlansvc.dll (KB5068861)

Registry-symlink local EoP (CWE-59 / external control of path) in the WLAN AutoConfig service wlansvc.dll (runs as SYSTEM). The profile-sync trigger functions CdsTriggerSyncIfNeededForLoggedInUsers, CdsTriggerSyncWithProfileDeletion and CdsTriggerSyncIfProfileEligible query the session user's token via UMgrQueryUserToken and then call Windows::Internal::WiFiCloudStore::IsSyncNeededForUser with that token WITHOUT impersonating it - so the registry work runs under SYSTEM. Inside IsSyncNeededForUser, keys are opened by name under HKLM\SOFTWARE\Microsoft\WlanSvc\ProfileSync\<SID> (OpenGenericSyncBaseKeyForUser 'Profiles'/'Cost', gated by WlanSvcTaskBootstrapped==1, creating an NLM/Irrelevant subkey). A standard user owns that subtree, so they replace the Profiles/Cost/NLM path components with registry symbolic links into protected system hives; SYSTEM then follows them, directing privileged registry operations at attacker-chosen targets -> EoP. IN-HOUSE Ghidra decompilation diff of wlansvc.dll 10.0.26100.7019 -> .7171 (Nov 11 2025; 3 MB analyzed via a persisted project) confirms the fix: all three CdsTriggerSync* functions now DuplicateToken the user token and wil::impersonate_token_nothrow it before the operation and RevertImpersonateToken after (PRE 0 -> POST 22 impersonation calls), so registry access is evaluated with the user's rights and symlinks into system paths fail with access-denied; token/impersonation failure halts the operation. Unconditional fix. Credit: t0zhang.

Pre-patch version 10.0.26100.7019 Download
Post-patch version 10.0.26100.7171 Download
Function Address Change Note
CdsTriggerSyncIfNeededForLoggedInUsers code change code (impersonation added before IsSyncNeededForUser) Pre: UMgrQueryUserToken -> IsSyncNeededForUser(hObject) with no impersonation (SYSTEM). Post: DuplicateToken(hObject, SecurityImpersonation) + wil::impersonate_token_nothrow before IsSyncNeededForUser, RevertImpersonateToken after; halts if token/impersonation fails. Confirmed by our decompilation (impersonation calls PRE 0 -> POST 22 across the CdsTriggerSync* set).
CdsTriggerSyncWithProfileDeletion code change code (same impersonation fix) Shares the same logic; patched to impersonate the user token before the WiFiCloudStore sync operations.
CdsTriggerSyncIfProfileEligible code change code (same impersonation fix) Shares the same logic; patched to impersonate the user token before the WiFiCloudStore sync operations.
Windows::Internal::WiFiCloudStore::IsSyncNeededForUser sink (unchanged) vulnerable sink Opens per-user ProfileSync keys by name (OpenGenericSyncBaseKeyForUser 'Profiles'/'Cost'); pre-patch it ran under SYSTEM so attacker registry symlinks were followed. The fix is upstream (impersonate before calling it).
View full diff report View RCA report

Attack Path

WLAN AutoConfig handles the user's profile-sync registry keys under SYSTEM without impersonation, so user-planted symlinks are followed as SYSTEM

Attack path for CVE-2025-59511 WLAN AutoConfig handles the user's profile-sync registry keys under SYSTEM without impersonation, so user-planted symlinks are followed as SYSTEM 01 — ENTRY Low-privileged user owns HKLM\...\WlanSvc\ProfileSync\<SID> and sets WlanSvcTaskBootstrapped=1 wlansvc (WLAN AutoConfig) runs as SYSTEM and keeps per-user profile-sync state under a subtree the user can write. Setting WlanSvcTaskBootstrapped=1 makes the service proceed to the sync path. 02 — CONTROLLED INPUT Plants registry symbolic links for the Profiles / Cost / NLM path components As owner of ProfileSync\<SID>, the user creates REG_OPTION_CREATE_LINK symlinks pointing at sensitive system hives instead of the real data keys. 03 — PATH CdsTriggerSync* queries the user token and calls WiFiCloudStore::IsSyncNeededForUser UMgrQueryUserToken returns the session user's token; IsSyncNeededForUser opens 'Profiles'/'Cost' via OpenGenericSyncBaseKeyForUser to decide whether sync is needed. 04 — MISSING CHECK The call runs under SYSTEM without impersonating the user token The user-controlled registry path components are resolved with SYSTEM authority, so the planted symlinks are followed (CWE-59 / external control of path). 05 — PRIMITIVE SYSTEM follows the symlink -> privileged registry operation on a protected hive -> EoP The SYSTEM service opens/creates/reads the symlink target, letting the attacker direct privileged registry actions. The Nov 2025 fix DuplicateToken + impersonate_token_nothrow the user before the operation (RevertImpersonateToken after), so symlinks into system paths fail access-denied.

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

T0