CVE-2025-60705 — Windows Client-Side Caching Elevation of Privilege Vulnerability
Executive Summary
Improper access control in Windows Client-Side Caching (CSC) Service allows an authorized attacker to elevate privileges locally.
Overview
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
EPSS Score
Affected Products
| Product | KB Article | Severity | Impact | Restart Required |
|---|---|---|---|---|
| Windows 10 Version 1607 for 32-bit Systems | 5068864 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 1607 for x64-based Systems | 5068864 (Security Update) |
Important | Elevation of Privilege | Yes |
| 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 2008 for 32-bit Systems Service Pack 2 5068906 (Monthly Rollup) 5068909 (Security Only) Important Elevation of Privilege 5066874 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 6.0.6003.23624 Yes None Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) 5068906 (Monthly Rollup) 5068909 (Security Only) Important Elevation of Privilege 5066874 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 6.0.6003.23624 Yes None Windows Server 2008 for x64-based Systems Service Pack 2 5068906 (Monthly Rollup) 5068909 (Security Only) Important Elevation of Privilege 5066874 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 6.0.6003.23624 Yes None Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) 5068906 (Monthly Rollup) 5068909 (Security Only) Important Elevation of Privilege 5066874 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 6.0.6003.23624 Yes None Windows Server 2008 R2 for x64-based Systems Service Pack 1 5068904 (Monthly Rollup) 5068908 (Security Only) Important Elevation of Privilege 5066872 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 6.1.7601.28021 Yes None Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) 5068904 (Monthly Rollup) 5068908 (Security Only) Important Elevation of Privilege 5066872 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 6.1.7601.28021 Yes None Windows Server 2012 | 5068907 (Monthly Rollup) |
Important | Elevation of Privilege | Yes |
| Windows Server 2012 (Server Core installation) | 5068907 (Monthly Rollup) |
Important | Elevation of Privilege | Yes |
| Windows Server 2012 R2 | 5068905 (Monthly Rollup) |
Important | Elevation of Privilege | Yes |
| Windows Server 2012 R2 (Server Core installation) | 5068905 (Monthly Rollup) |
Important | Elevation of Privilege | Yes |
| Windows Server 2016 | 5068864 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows Server 2016 (Server Core installation) | 5068864 (Security Update) |
Important | Elevation of Privilege | Yes |
| 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
| Article | Type | Restart |
|---|---|---|
5068864 |
Security Update | Yes |
5068791 |
Security Update | Yes |
5068781 |
Security Update | Yes |
5068865 |
Security Update | Yes |
5068907 |
Monthly Rollup | Yes |
5068905 |
Monthly Rollup | Yes |
5068779 |
Security Update | Yes |
Patch Diff
CVE-2025-60705 patch (KB5068861, November 11 2025) fixes a privilege check bypass in csc.sys (Windows Client-Side Caching kernel driver). Root cause: CscRebootRenamepOpenKey called ZwCreateKey/ZwOpenKey with OBJECT_ATTRIBUTES.Attributes = 0x240 (OBJ_KERNEL_HANDLE | OBJ_CASE_INSENSITIVE) — missing OBJ_FORCE_ACCESS_CHECK (0x400). A low-privileged user triggers the vulnerable path via IOfflineFilesCache::RenameItem (COM) → IRP_MJ_FILE_SYSTEM_CONTROL → CscRebootRenameAddEntry → CscRebootRenamepOpenKey. By placing a registry symbolic link at HKLM\SYSTEM\CurrentControlSet\Services\CSC\Parameters\RebootRename, the attacker causes csc.sys (running as SYSTEM) to create arbitrary registry keys in protected hives. Patch adds a feature flag-gated explicit caller privilege check: function grew 162→406 bytes; new helper at 0x140050420 validates caller identity before ZwCreateKey/ZwOpenKey; feature disabled (kill-switch) path preserves old behavior for controlled rollout. Fix approach differs from CVE-2025-62455 (mqac.sys): instead of adding OBJ_FORCE_ACCESS_CHECK to Attributes, an explicit pre-call access check is inserted. Reporter: T0 (@t0zhang). Similar CVE: CVE-2022-35820.
| Function | Address | Change | Note |
|---|---|---|---|
CscRebootRenamepOpenKey |
0x140050870 → 0x140050974 |
code, length, address | 162 → 406 bytes (+244 bytes). Primary patch site. Pre-patch: calls ZwCreateKey/ZwOpenKey directly with OBJECT_ATTRIBUTES.Attributes = 0x240 (OBJ_KERNEL_HANDLE | OBJ_CASE_INSENSITIVE), no caller privilege check. Post-patch: feature flag evaluator (call 0x1400220c4) added at function entry; when feature enabled, new explicit caller access-check helper (call 0x140050420, pool tag 'CsrR') validates the caller's security context before any registry operation; if check fails (NTSTATUS < 0), ZwCreateKey/ZwOpenKey are skipped and error returned. Feature disabled (kill-switch) path at 0x140050a95 falls through to original behavior with Attributes = 0x240. The Attributes value itself is NOT changed to 0x640 — fix is an explicit privilege check, not OBJ_FORCE_ACCESS_CHECK. |
CscRebootRenamepOpenKey::PrivilegeCheckHelper |
new → 0x140050420 |
new function | New helper added to post-patch binary. ~0xe9 bytes. Acquires current thread security context, allocates kernel buffer (ExAllocatePoolWithTag, pool tag 'CsrR', 0x100 bytes), performs Object Manager access check via ObReferenceObjectByPointer-class routine against the caller's token. Returns NTSTATUS — negative means caller lacks privileges, positive means check passed. Called only when feature flag is enabled. |
FeatureFlagEvaluator |
new → 0x1400220c4 |
new function | 41 bytes. Reads global feature state from .data section (RVA 0x3d850, VA 0x14003d850). If state & 0x10 (initialized bit): returns state & 1 (enabled=1, disabled=0). Otherwise calls internal feature computation helper. Return value 0 = feature disabled (old path), non-zero = feature enabled (new privilege-check path). Same Windows Feature Experimentation/Velocity kill-switch pattern as CVE-2025-62455 (mqac.sys). |
Attack Path
Privilege check bypass - csc.sys opens a registry key with OBJ_KERNEL_HANDLE and no OBJ_FORCE_ACCESS_CHECK
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.