Skip to main content
Mallory
HighCISA KEVExploited in the wildPublic exploit

Windows Common Log File System Driver Elevation of Privilege

IdentifiersCVE-2022-24521CWE-269

CVE-2022-24521 is a local elevation-of-privilege vulnerability in the Windows Common Log File System (CLFS) driver affecting supported versions of Microsoft Windows. Microsoft described it as a CLFS driver flaw that was exploited in the wild as a zero-day. The provided content does not identify the specific vulnerable function or root-cause bug class within CLFS, but multiple incident reports consistently describe it as a post-compromise local privilege escalation issue used by ransomware operators after obtaining initial access to a host. Observed tradecraft includes use of dedicated exploit binaries such as exp.exe and cleanlpe1day.exe to trigger the flaw and elevate privileges on compromised systems.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation allows an attacker who already has local code execution or local access on a Windows system to elevate privileges, including to SYSTEM. In observed intrusions, this enabled follow-on actions such as credential theft, defense evasion, broader lateral movement, and preparation for ransomware deployment or extortion operations. Microsoft and multiple reporting sources state the vulnerability was exploited in the wild.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, reduce opportunities for post-compromise exploitation by minimizing local administrator exposure, restricting interactive logon paths, hardening and monitoring RDP and other remote access services, enforcing least privilege, and detecting suspicious execution of known exploit tools associated with this CVE. Because this is a local privilege-escalation flaw, mitigations are compensating controls only; they do not eliminate risk once an attacker has local execution on an unpatched host.

Remediation

Patch, then assume compromise.

Apply Microsoft's April 2022 security updates that address CVE-2022-24521 on all supported Windows systems. Because the flaw affects the Windows CLFS driver across supported Windows versions and has been exploited in the wild, patching should be prioritized for exposed, high-value, and user-accessible systems, followed by the broader fleet. Standard remediation should also include verifying successful deployment of the relevant cumulative updates and removing any exploit tooling or persistence left by prior compromise.
PUBLIC EXPLOITS

Exploits

1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 1 / 1 TOTALView more in app
CVE-2022-24521MaturityPoCVerified exploit

Repository purpose: Proof-of-concept exploit for CVE-2022-24521 (Windows CLFS) implementing a local privilege escalation via crafted BLF (Base Log File) metadata corruption. Structure (11 files): - README.md: minimal build notes (VS2022 v143, C++14) and CVE reference. - Two PoC implementations: - win10_poc/: poc.cpp plus helpers (BlfFileIO.h, ParseBLF.h, CRC32_tool.h). poc.cpp also includes kernel_utils.h and token_operations.h, but those headers are not present in the provided file list (suggesting missing files or incomplete snapshot). - win11_poc/: win11_poc.cpp plus helpers (BlfFileIO.h, ParseBLF.h, CRC32_tool.h, kernel_utils.h). win11_poc.cpp includes pipe_arbitrary_rw.h (not present), implying an additional arbitrary kernel R/W primitive implementation is expected. Core exploit flow (both Win10/Win11 variants): 1) CLFS log setup: deletes any existing container file (MyMiniLog_container_41.clfs), deletes the log name (log:MyMiniLog), then creates/opens the log and adds a 1MB container via CreateLogFile/AddLogContainer. 2) BLF parsing and patching: reads MyMiniLog.blf, locates the first General metadata block (try_find_first_general_block_offset), parses internal offsets/positions (parse_global_variable_positions), then rewrites key fields in the BLF to relocate/copy symbol table data and to set crafted values: - Overwrites SignaturesOffset and symbol table offsets (cbOffset/cbSymName) to move metadata to a controlled location (new_sym_offset=0x2100). - Sets containerContext_cidQueue to 0xFFFFFFFF and containerContext_ullAlignment to a fake vtable pointer (0x50000). - Copies a chunk of metadata from the original symbol table region to the new offset. 3) Integrity repair: recalculates and rewrites CRC32 checksum for the modified block (CRC32_tool.h uses block_offset=0x800 and TotalSectorCount*512 sizing). 4) Memory shaping / gadget setup: - Allocates fixed-address userland memory regions (notably 0x60000, 0x50000, 0xFFFFFFF0) and writes a fake vtable/object layout. - Resolves kernel addresses for SeSetAccessStateGenericMapping (ntoskrnl) and ClfsEarlierLsn (CLFS.SYS) by loading user copies and adding deltas to real kernel module bases obtained via NtQuerySystemInformation. - Uses these as call targets/gadgets in the forged structure. 5) Trigger: re-opens the log (CreateLogFile("log:MyMiniLog", ...)) without adding a container, causing CLFS to parse the crafted BLF/container metadata and hit the vulnerable code path. 6) Privilege escalation: - Win10 PoC: calls ExecuteTokenReplacement(g_PreviousModeAddress) after triggering, implying a write-what-where to flip PreviousMode and then replace token (details depend on missing token_operations.h). - Win11 PoC: uses GetTokenAddresses() to locate current and SYSTEM EPROCESS token fields (build-dependent offset 0x4B8 for >=19041 else 0x358). It then (a) targets a pipe-related kernel address (pipeCtx.attributeValueSizeAddr) to read kernel memory (PKR_ReadKernelMemory), (b) re-triggers with a target of currentTokenPtr to write the SYSTEM token pointer into the current process token field, and finally spawns a new cmd via system("start cmd"). Notable observables / hardcoded values: - CLFS artifacts: log name "log:MyMiniLog", BLF "MyMiniLog.blf", container "MyMiniLog_container_41.clfs". - Fixed virtual addresses used for exploitation: 0x50000 (fake vtable), 0x60000 (fake object), 0xFFFFFFF0 and writes around 0xFFFFFFFF/0x100000007. - Kernel module paths: C:\Windows\System32\drivers\CLFS.SYS and ntoskrnl.exe loaded in userland for symbol offset calculations. Overall: This is operational LPE exploit code (not just detection). It performs on-disk BLF corruption + checksum fix, sets up fake in-memory structures, triggers CLFS parsing, and escalates privileges via token theft/replacement. Some components referenced by includes (token_operations.h, pipe_arbitrary_rw.h, types.h) are not present in the provided content, so full end-to-end compilation may require additional files.

uname1ableDisclosed Feb 19, 2026cppc++local
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
Microsoft CorporationWindows 10 1507operating_system
Microsoft CorporationWindows 10 1607operating_system
Microsoft CorporationWindows 10 1809operating_system
Microsoft CorporationWindows 10 1909operating_system
Microsoft CorporationWindows 10 20h2operating_system
Microsoft CorporationWindows 10 21h1operating_system
Microsoft CorporationWindows 10 21h2operating_system
Microsoft CorporationWindows 11 21h2operating_system
Microsoft CorporationWindows 7operating_system
Microsoft CorporationWindows 8.1operating_system
Microsoft CorporationWindows Rt 8.1operating_system
Microsoft CorporationWindows Server 2008operating_system
Microsoft CorporationWindows Server 2008 R2operating_system
Microsoft CorporationWindows Server 2008 Sp2operating_system
Microsoft CorporationWindows Server 2012operating_system
Microsoft CorporationWindows Server 2012 R2operating_system
Microsoft CorporationWindows Server 2016operating_system
Microsoft CorporationWindows Server 2019operating_system
Microsoft CorporationWindows Server 2022operating_system
Microsoft CorporationWindows Server 20h2operating_system

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence3

Every observed campaign linking this CVE to a named adversary.

Associated malware2

Malware families riding this exploit, with evidence and IOCs.

Detection signatures2

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity

Community discussion across Reddit, Mastodon, and other social sources.