CVE-2026-27929 Overview
CVE-2026-27929 is a time-of-check time-of-use (TOCTOU) race condition in the Windows LUAFV (Limited User Account File Virtualization) driver. The flaw allows an authorized local attacker to elevate privileges on affected Windows client and server systems. Microsoft tracks the issue under CWE-367 and rates it High severity. Successful exploitation grants the attacker access to resources or operations that should remain restricted to higher-privileged accounts, including SYSTEM-level objects on the local machine.
Critical Impact
A successful race-window win lets a low-privileged local user elevate to SYSTEM, gaining full confidentiality, integrity, and availability impact on the host.
Affected Products
- Microsoft Windows 10 (1607, 1809, 21H2, 22H2) across x86, x64, and ARM64
- Microsoft Windows 11 (23H2, 24H2, 25H2, 26H1) across x64 and ARM64
- Microsoft Windows Server 2012, 2012 R2, 2016, 2019, 2022, 2022 23H2, and 2025
Discovery Timeline
- 2026-04-14 - CVE-2026-27929 published to NVD
- 2026-04-22 - Last updated in NVD database
Technical Details for CVE-2026-27929
Vulnerability Analysis
The LUAFV driver (luafv.sys) is the Windows file-system filter that implements User Account Control (UAC) file and registry virtualization. It redirects writes from legacy applications that target protected locations such as %ProgramFiles% or %Windir% into per-user virtual stores. To make this transparent, LUAFV repeatedly checks file metadata, security descriptors, and reparse state before performing operations on behalf of the caller.
The vulnerability stems from a window between when LUAFV validates a file object's properties (the check) and when it acts on that object (the use). A local attacker who can race the kernel filter can swap the target path or change object state inside that window. The result is that a privileged operation executes against an attacker-controlled target rather than the originally validated one.
Root Cause
The root cause is non-atomic validation of file-system state within luafv.sys. LUAFV resolves a path or evaluates virtualization eligibility, then later reopens or operates on the same name. Because the path resolution and the privileged operation are not held under a single consistent lock, a concurrent thread can substitute the underlying object between the two steps. This is the classic TOCTOU pattern described by CWE-367.
Attack Vector
Exploitation requires local code execution with low privileges and is rated high attack complexity because the attacker must reliably win a kernel-side race. A typical exploit creates a benign file that passes LUAFV's initial checks, then uses a second thread to replace that path with a symbolic link, junction, or hard link pointing to a SYSTEM-owned target before LUAFV performs the privileged file operation. When the race succeeds, LUAFV writes to or opens the substituted target with elevated context, yielding arbitrary file write or privilege escalation. No verified public proof-of-concept is currently available, and the EPSS score reflects low predicted exploitation activity in the near term.
Detection Methods for CVE-2026-27929
Indicators of Compromise
- Unexpected creation of NTFS reparse points, symbolic links, or hard links from %LOCALAPPDATA%\VirtualStore\ or other user-writable paths into protected directories such as C:\Windows\System32\.
- New or modified files in SYSTEM-owned locations whose write was initiated by a process running as a standard user.
- Repeated, rapid open/close or rename activity against the same path by a low-privileged process, consistent with race-window probing.
Detection Strategies
- Hunt for standard-user processes that successfully modify files in protected directories that LUAFV would normally virtualize.
- Correlate file-system mini-filter events (luafv.sys) with token elevation and integrity-level transitions on the same thread.
- Flag processes that create symbolic links or junctions immediately followed by file operations through the LUAFV virtualization path.
Monitoring Recommendations
- Enable Windows audit policy for Object Access (File System and Handle Manipulation) on protected directories and ship logs to a centralized SIEM or data lake.
- Monitor Sysmon Event IDs 1, 11, and 15 for short-lived processes performing rapid file renames against virtualized paths.
- Alert on driver and kernel anomalies involving luafv.sys and on any process that triggers UAC virtualization while also spawning elevated child processes.
How to Mitigate CVE-2026-27929
Immediate Actions Required
- Apply the Microsoft security update referenced in the Microsoft Security Update for CVE-2026-27929 advisory to all affected Windows 10, Windows 11, and Windows Server systems.
- Inventory unpatched hosts using configuration management tooling and prioritize multi-user systems, jump hosts, and terminal servers where local accounts are most prevalent.
- Restrict interactive and remote desktop logon rights on sensitive servers to reduce the population of users who can stage a local race.
Patch Information
Microsoft published the fix on 2026-04-14 through the standard Update Guide entry for CVE-2026-27929. The update revises LUAFV path-validation logic in luafv.sys to close the TOCTOU window. Consult the Microsoft Security Update CVE-2026-27929 advisory for KB article numbers, build versions, and servicing-stack prerequisites per Windows release.
Workarounds
- No official workaround replaces patching. Where immediate deployment is not possible, remove unnecessary local users and enforce least privilege.
- Disable or strictly audit applications that rely on UAC file virtualization, since legitimate use of LUAFV is largely limited to legacy software.
- Enable Attack Surface Reduction rules and tamper-resistant logging so that exploitation attempts produce durable telemetry even if the host is compromised.
# Verify patch deployment status on a Windows host
Get-HotFix | Sort-Object -Property InstalledOn -Descending | Select-Object -First 10
# Confirm the LUAFV driver version after patching
Get-Item C:\Windows\System32\drivers\luafv.sys | Select-Object Name, VersionInfo
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


