What is the Windows AppLocker Kernel Driver (appid.sys)?
The Windows AppLocker Application Identity driver (appid.sys) is a kernel-mode driver that supports Windows AppLocker — the feature that enforces application control policies restricting which programs can execute on a system. appid.sys exposes an IOCTL (Input/Output Control) interface that allows user-mode processes to interact with the AppLocker enforcement engine. Because kernel drivers expose IOCTLs to user-mode, the access control on these IOCTLs is critical — insufficient access controls allow low-privilege processes to invoke kernel operations that should be restricted to privileged callers.
Overview
CVE-2024-21338 is a zero-day vulnerability in the Windows AppLocker kernel driver (appid.sys) involving an exposed IOCTL with insufficient access control and an untrusted pointer dereference. It was discovered and exploited by North Korea's Lazarus Group to deploy the FudModule kernel rootkit — a sophisticated tool that manipulates Windows security telemetry and disables EDR sensors from the kernel level. Avast researchers discovered the exploitation in the wild and attributed it to Lazarus Group. This is the first Lazarus FudModule deployment that used a genuine kernel zero-day (as opposed to the BYOVD technique used in earlier FudModule deployments).
Affected Versions
| OS | Status |
|---|---|
| Windows 10 (all supported versions) | Patched February 2024 Patch Tuesday |
| Windows 11 (all supported versions) | Patched February 2024 Patch Tuesday |
| Windows Server 2019 and later | Patched February 2024 Patch Tuesday |
Technical Details
CWE-822 (Untrusted Pointer Dereference). The appid.sys driver's IOCTL handler processes requests from user-mode processes. A flaw in access control validation allows a low-privilege process to send IOCTLs that should be restricted to higher-privilege callers. Additionally, the IOCTL handler dereferences a pointer provided in the IOCTL input buffer without adequate validation — an untrusted pointer dereference that allows an attacker to specify an arbitrary kernel address to read from or write to.
Lazarus Group's exploitation path: low-privilege user process → send crafted IOCTL to appid.sys → trigger untrusted pointer dereference → achieve kernel write primitive → overwrite kernel security objects to gain SYSTEM → deploy FudModule rootkit which disables ETW kernel telemetry, removes EDR minifilter callbacks, and neutralizes Windows security mechanisms.
FudModule marks a significant evolution: earlier versions (2022–2023) used Bring Your Own Vulnerable Driver (BYOVD) to achieve kernel access; CVE-2024-21338 allowed the same rootkit to be deployed without bringing an external driver, reducing detection risk significantly.
Discovery
Discovered by Jan Vojtěšek and the Avast Threat Research team, who identified FudModule samples in the wild that exploited a new technique (real kernel zero-day rather than BYOVD) and reverse-engineered the appid.sys vulnerability. Avast reported to Microsoft, which patched in February 2024 Patch Tuesday.
Exploitation Context
The Lazarus Group (North Korea's primary APT, also known as APT38, Hidden Cobra) uses FudModule rootkit deployments as part of cryptocurrency theft operations targeting financial institutions and cryptocurrency exchanges. The rootkit's ability to disable Windows security telemetry and EDR sensors makes post-exploitation activity invisible, enabling prolonged access. CVE-2024-21338 was a significant capability upgrade: a zero-day kernel vulnerability without requiring a vulnerable driver binary makes the attack harder to detect and removes a common BYOVD detection signal.
Remediation
- Apply the February 2024 Windows security updates (Patch Tuesday, February 13, 2024) immediately.
- Enable virtualization-based security (VBS) and Hypervisor-Protected Code Integrity (HVCI) — these protect kernel code integrity and significantly complicate kernel rootkit deployment.
- Deploy EDR solutions with self-protection mechanisms (kernel tamper protection) that resist FudModule's callback removal techniques.
- Monitor for AppLocker-related unusual kernel events and for ETW telemetry gaps that may indicate FudModule is suppressing security events.
- Cryptocurrency industry organizations should treat Lazarus Group as an active threat and verify full patch compliance for this and related CVEs.
Key Details
| Property | Value |
|---|---|
| CVE ID | CVE-2024-21338 |
| Vendor / Product | Microsoft — Windows |
| NVD Published | 2024-02-13 |
| NVD Last Modified | 2025-10-28 |
| CVSS 3.1 Score | 7.8 |
| CVSS 3.1 Vector | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Severity | HIGH |
| CWE | CWE-822 find similar ↗ |
| CISA KEV Added | 2024-03-04 |
| CISA KEV Deadline | 2024-03-25 |
| Known Ransomware Use | ⚠️ Yes |
CVSS 3.1 Breakdown
Required Action
Timeline
| Date | Event |
|---|---|
| 2024-02-13 | Microsoft releases February 2024 Patch Tuesday patching CVE-2024-21338 |
| 2024-03-04 | Added to CISA KEV catalog; Avast publishes attribution to Lazarus Group / FudModule rootkit |
| 2024-03-25 | CISA BOD 22-01 remediation deadline |
References
| Resource | Type |
|---|---|
| Microsoft Security Advisory — CVE-2024-21338 | Vendor Advisory |
| NVD — CVE-2024-21338 | Vulnerability Database |
| CISA KEV Catalog Entry | US Government |
| Avast — Lazarus and the FudModule Rootkit: CVE-2024-21338 | Security Research |