Background
CVE-2024-21338 is a Windows kernel vulnerability in the appid.sys driver — the kernel component of Windows AppLocker. Lazarus Group exploited it as a zero-day in 2024, using it as a stepping stone to deploy their FudModule rootkit. This is the same rootkit observed in the CVE-2024-38193 campaign; Lazarus appears to have had multiple kernel LPEs in their toolkit simultaneously.
The significance here is that this is an attack on the AppLocker kernel driver itself — the security feature designed to control which software can run. By exploiting the very driver meant to enforce application control, Lazarus achieved a particularly elegant form of privilege escalation with potential to undermine the security stack.
Technical Mechanism
appid.sys is the kernel driver backing the Windows Application Identity service, used by AppLocker for application execution control. The vulnerability is in how the driver handles certain IOCTL (I/O Control) calls from user mode.
Windows kernel drivers expose IOCTLs to user-mode processes for communication. Certain IOCTLs in appid.sys are accessible from user mode and contain a vulnerability in their input validation:
- A user-mode process sends a crafted IOCTL request to the
appid.sysdriver - The driver processes the request with insufficient bounds checking or type validation
- This results in a write-what-where condition or similar primitive in kernel memory
- The attacker exploits this to modify their process’s security token — specifically, replacing the token’s privilege level with a SYSTEM-equivalent token
- The process now has SYSTEM privileges
Avast researchers who discovered this noted that the specific IOCTL abuse was known as a technique in the security research community but hadn’t been weaponised at scale before Lazarus used it.
Once SYSTEM is achieved, Lazarus loaded FudModule, which operates at the kernel level to:
- Disable ETW (Event Tracing for Windows) kernel callbacks
- Remove PPL (Protected Process Light) protections from antivirus processes
- Delete kernel callbacks registered by EDR solutions
The result: a fully blind security monitoring environment.
Real-World Exploitation Evidence
Avast researchers discovered the zero-day usage and published analysis in February 2024:
- Lazarus Group — confirmed exploitation; consistent with the group’s pattern of using Windows kernel exploits for the FudModule rootkit
- FudModule v2 — this campaign used an updated version of FudModule that no longer relied on BYOVD (Bring Your Own Vulnerable Driver) techniques, instead using this direct kernel exploitation
- Transition from BYOVD — Lazarus had previously used BYOVD techniques; moving to direct kernel exploitation shows continued investment in offensive capabilities
- Financial and defence targeting — Lazarus’s typical targeting of cryptocurrency and defence sectors
The sophistication here — a direct kernel exploit used specifically to deploy a rootkit that blinds security monitoring — represents top-tier offensive capability.
Impact Assessment
- Kernel-level privilege escalation to SYSTEM
- Security tool neutralisation — FudModule specifically designed to disable AV, EDR, and security monitoring
- Invisible persistence — with security tools blinded, the attacker can operate without triggering alerts
- Credential dumping — SYSTEM + blinded security = trivial credential harvest
- Long-term espionage — kernel rootkits are used for sustained, stealthy access
- Supply chain risk — Lazarus targets include crypto exchanges, tech companies, and defence contractors
Affected Versions
| Product | Affected Versions | Fixed Version |
|---|---|---|
| Windows 10 (21H2, 22H2) | Before February 2024 patches | KB5034763 |
| Windows 11 (21H2, 22H2, 23H2) | Before February 2024 patches | KB5034765, KB5034766 |
| Windows Server 2019 | Before February 2024 patches | KB5034768 |
| Windows Server 2022 | Before February 2024 patches | KB5034770 |
Remediation Steps
- Apply February 2024 Patch Tuesday updates
- Given FudModule deployment, standard patching is insufficient if already compromised:
- Conduct memory forensics using tools outside the potentially compromised OS (bootable forensic environment)
- FudModule operates in kernel space and may blind standard detection tools
- If Lazarus activity is suspected:
- Treat the entire host as compromised
- Use offline forensics tools
- Check for known FudModule indicators via memory forensics
- Enable Secure Boot and UEFI attestation to make kernel-level persistence harder
- Enable Hypervisor-Protected Code Integrity (HVCI) — this makes kernel driver exploitation significantly harder as unsigned code cannot execute in kernel mode:
# Enable HVCI via Group Policy or MDM # Or: reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v HypervisorEnforcedCodeIntegrity /t REG_DWORD /d 1
Detection Guidance
Kernel monitoring — before FudModule deployment:
- Look for unexpected IOCTL calls to
appid.sys - Monitor for appid.sys driver exceptions or crashes (failed exploit attempts)
Memory forensics (for post-FudModule detection):
- Volatility plugins for detecting kernel rootkits
- Look for hooked SSDT entries or modified kernel callbacks
Avast detection guidance — Avast published indicators in their FudModule analysis report.
SIEM rule:
process_integrity_level = "System" AND
process_parent_integrity_level IN ("Medium", "Low") AND
NOT parent_process_name IN ("services.exe", "wininit.exe", "winlogon.exe")
Suricata signature:
alert tcp $HOME_NET any -> any any (msg:"Possible Lazarus FudModule/CVE-2024-21338 C2 Channel"; flow:established,to_server; content:"|00 00 00 04|"; offset:0; depth:4; dsize:>100; classtype:trojan-activity; sid:2034026; rev:1;)
Timeline
| Date | Event |
|---|---|
| 2023–2024 | Lazarus Group exploits CVE-2024-21338 as zero-day with FudModule rootkit |
| February 2024 | Avast researchers discover zero-day exploitation |
| 13 February 2024 | Microsoft patches CVE-2024-21338 in February Patch Tuesday |
| February 2024 | CISA adds to Known Exploited Vulnerabilities catalogue |
| February 2024 | Avast publishes FudModule v2 analysis |