CVE-2026-83991 — Windows Cloud Files Mini Filter Driver Tampering Vulnerability
Executive Summary
Missing authentication for critical function in Windows Cloud Files Mini Filter Driver allows an authorized attacker to perform tampering locally.
Overview
CVSS Vector
EPSS Score
No EPSS score available for this CVE.
View on FIRST.orgAffected Products
| Product | KB Article | Severity | Impact | Restart Required |
|---|---|---|---|---|
| Windows 10 Version 1809 for 32-bit Systems | 5122876 (Security Update) |
Important | Tampering | Yes |
| Windows 10 Version 1809 for x64-based Systems | 5122876 (Security Update) |
Important | Tampering | Yes |
| Windows 10 Version 21H2 for 32-bit Systems | 5122878 (Security Update) |
Important | Tampering | Yes |
| Windows 10 Version 21H2 for ARM64-based Systems | 5122878 (Security Update) |
Important | Tampering | Yes |
| Windows 10 Version 21H2 for x64-based Systems | 5122878 (Security Update) |
Important | Tampering | Yes |
| Windows 10 Version 22H2 for 32-bit Systems | 5122878 (Security Update) |
Important | Tampering | Yes |
| Windows 10 Version 22H2 for ARM64-based Systems | 5122878 (Security Update) |
Important | Tampering | Yes |
| Windows 10 Version 22H2 for x64-based Systems | 5122878 (Security Update) |
Important | Tampering | Yes |
| Windows 11 Version 23H2 for ARM64-based Systems | 5122880 (Security Update) |
Important | Tampering | Yes |
| Windows 11 Version 23H2 for x64-based Systems | 5122880 (Security Update) |
Important | Tampering | Yes |
| Windows 11 Version 24H2 for ARM64-based Systems | 5124008 (Security Update) |
Important | Tampering | Yes |
| Windows 11 Version 24H2 for x64-based Systems | 5124008 (Security Update) |
Important | Tampering | Yes |
| Windows 11 Version 25H2 for ARM64-based Systems | 5124008 (Security Update) |
Important | Tampering | Yes |
| Windows 11 Version 25H2 for x64-based Systems | 5124008 (Security Update) |
Important | Tampering | Yes |
| Windows 11 Version 26H1 for ARM64-based Systems | 5124012 (Security Update) |
Important | Tampering | Yes |
| Windows 11 version 26H1 for x64-based Systems | 5124012 (Security Update) |
Important | Tampering | Yes |
| Windows Server 2019 | 5122876 (Security Update) |
Important | Tampering | Yes |
| Windows Server 2019 (Server Core installation) | 5122876 (Security Update) |
Important | Tampering | Yes |
| Windows Server 2022 | 5122882 (Security Update) |
Important | Tampering | Yes |
| Windows Server 2022 (Server Core installation) | 5122882 (Security Update) |
Important | Tampering | Yes |
| Windows Server 2025 | 5122871 (Security Update) |
Important | Tampering | Yes |
| Windows Server 2025 (Server Core installation) | 5122871 (Security Update) |
Important | Tampering | Yes |
Patches
| Article | Type | Restart |
|---|---|---|
5122876 |
Security Update | Yes |
5122878 |
Security Update | Yes |
5122880 |
Security Update | Yes |
5124008 |
Security Update | Yes |
5124012 |
Security Update | Yes |
5122882 |
Security Update | Yes |
5122871 |
Security Update | Yes |
Patch Diff
Missing authentication for a critical function (CWE-306) in the Windows Cloud Files Mini Filter Driver cldflt.sys placeholder-create path, local tampering of protected file state (Important, Tampering, AV:L/AC:L/PR:L/UI:N, C:N/I:H/A:N, CVSS 5.5). CfCreatePlaceholders (kernel handler HsmpOpCreatePlaceholders) creates cloud placeholders under a registered sync root; the per-entry CF_PLACEHOLDER_CREATE_FLAG_SUPERSEDE (0x4) flag supplies overwrite semantics. PRE: the supersede path accepted an ordinary existing leaf file and converted it into a cloud placeholder based only on the caller's authority over the base directory, without access-checking the existing leaf's own DACL. A low-privileged caller who can create children in a directory (FILE_ADD_FILE) but is denied write/delete on a specific protected leaf could therefore supersede that leaf - turning a read-only file (attributes 0x20) into a Cloud Files placeholder (IO_REPARSE_TAG_CLOUD 0x9000001A, attributes 0x00401600) with the same NTFS file ID, i.e. tamper with protected system data beyond the caller's rights. Diff of cldflt.sys 10.0.26100.9278 -> .9444 (Sep 8 2026, KB5124008, 24H2/25H2) confirms the fix: gated behind CFR flag Feature_1245077819, HsmpOpCreatePlaceholders now calls a NEW HsmpAccessCheck helper against the existing leaf on the supersede path and rejects the operation when the caller lacks the required access to that leaf, closing the parent-authority-is-not-leaf-authority gap. Confirmed against the public PoC/writeup (karollooool/CVE-2026-83991-writeup-and-poc), which demonstrates GENERIC_WRITE and DeleteFileW failing with ERROR_ACCESS_DENIED on the leaf while CfCreatePlaceholders(supersede) returns S_OK and rewrites it as a placeholder under one restricted medium-integrity thread token. No memory corruption is involved; the flaw is a missing authorization check on a state-changing operation.
| Function | Address | Change | Note |
|---|---|---|---|
HsmpOpCreatePlaceholders |
code change |
code (adds leaf access check on the supersede path, CFR-gated) | Kernel handler for CfCreatePlaceholders. Post (Feature_1245077819): invokes the new HsmpAccessCheck against the pre-existing leaf before applying CF_PLACEHOLDER_CREATE_FLAG_SUPERSEDE, rejecting the conversion when the caller lacks access to that leaf. Pre: superseded an existing file based only on base-directory authority. |
HsmpAccessCheck |
new function |
added (authorization helper) | New helper that performs the missing access check on the target object; called from the create-placeholders/supersede path so parent-directory rights no longer authorize a state-changing supersede against a more restrictive existing child. |
Feature_1245077819 |
gate |
added (CFR gate) | CFR flag gating the new access check in HsmpOpCreatePlaceholders; the original unchecked supersede path ships when disabled. |
Attack Path
Base-directory create rights are abused to supersede a protected read-only leaf into a cloud placeholder without a leaf 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.