CVE-2024-30088
Windows Kernel Elevation of Privilege Vulnerability
Record summary
CVE-2024-30088 has a selected CVSS score of 7.0 (high); EIP currently links 1 catalogued exploit and 8 repository PoCs. CISA lists CVE-2024-30088 in KEV and reports its use in known ransomware campaigns.
Description
Windows Kernel Elevation of Privilege Vulnerability
Exploitation context
Known exploitation
- CISA KEV
- Listed · Oct 15, 2024 · CISA
- VulnCheck KEV
- Listed · Oct 11, 2024 · VulnCheck
- Reported exploitation
- Observed · VulnCheck
- Ransomware use
- Observed · CISA
Available material
CISA SSVC decision
CISA Coordinator · SSVC 2.0.3 · Evaluated Jun 10, 2024 · Source: CVE List
Affected products and versions
Showing 12 of 15| Product | Source | Version range | Status |
|---|---|---|---|
WindowsBrowse Microsoft / Windows | CISA | Version data not supplied | |
Windows 10 Version 1507Browse Microsoft / Windows 10 Version 1507 | CVE List | 10.0.10240.0 to < 10.0.10240.20680 | affected |
Windows 10 Version 1607Browse Microsoft / Windows 10 Version 1607 | CVE List | 10.0.14393.0 to < 10.0.14393.7070 | affected |
Windows 10 Version 1809Browse Microsoft / Windows 10 Version 1809 | CVE List | 10.0.17763.0 to < 10.0.17763.5936 | affected |
| 10.0.0 to < 10.0.17763.5936 | affected | ||
Windows 10 Version 21H2Browse Microsoft / Windows 10 Version 21H2 | CVE List | 10.0.19044.0 to < 10.0.19044.4529 | affected |
Windows 10 Version 22H2Browse Microsoft / Windows 10 Version 22H2 | CVE List | 10.0.19045.0 to < 10.0.19045.4529 | affected |
Windows 11 Version 23H2Browse Microsoft / Windows 11 Version 23H2 | CVE List | 10.0.22631.0 to < 10.0.22631.3737 | affected |
Windows 11 version 21H2Browse Microsoft / Windows 11 version 21H2 | CVE List | 10.0.22000.0 to < 10.0.22000.3019 | affected |
Windows 11 version 22H2Browse Microsoft / Windows 11 version 22H2 | CVE List | 10.0.22621.0 to < 10.0.22621.3737 | affected |
Windows Server 2016Browse Microsoft / Windows Server 2016 | CVE List | 10.0.14393.0 to < 10.0.14393.7070 | affected |
Windows Server 2016 (Server Core installation)Browse Microsoft / Windows Server 2016 (Server Core installation) | CVE List | 10.0.14393.0 to < 10.0.14393.7070 | affected |
Windows Server 2019Browse Microsoft / Windows Server 2019 | CVE List | 10.0.17763.0 to < 10.0.17763.5936 | affected |
Proofs of concept
9Catalogued exploits
MetasploitWindows Kernel Time of Check Time of Use LPE in AuthzBasepCopyoutInternalSecurityAttributesMetasploit exploitby jheysel-r7 +1 moreNot analyzed1 file
Repository PoCs
GitHubramzihafiz/cve-2024-30088-binaryRepository PoCby ramzihafizStars: 1Not analyzed1 file
GitHubth3g3ntl3m4n84/CVE-2024-30088__Windows-TOCTOU-exploitRepository PoCby th3g3ntl3m4n84Stars: 0Exploit7 files
Analysis
Technical assessment
A modified exploit for CVE-2024-30088, a Windows Kernel TOCTOU race condition, adapted for non-interactive WinRM environments. It uses a race condition to obtain a handle to winlogon.exe, then spawns a SYSTEM-level process via CreateProcessFromHandle.
Backdoor review
No backdoor observed in reviewed code
The supplied text files (README.md, poc/ex.h, poc/main.cpp) describe and implement a proof-of-concept exploit for CVE-2024-30088, a Windows kernel TOCTOU elevation-of-privilege vulnerability. The code performs privilege escalation by racing a token information query to obtain a handle to winlogon.exe, then uses that handle to spawn a child process as SYSTEM. The hardcoded payload path payload withheld is a typical placeholder for demonstrating code execution in the SYSTEM context. No concealed backdoor, credential theft, persistence mechanism, or unrelated remote access behavior is present in the reviewed source code.
Classification basis and observed behavior
Classification basis
The code actively exploits CVE-2024-30088 by implementing a race condition to escalate privileges and spawn a SYSTEM process. It is not merely detecting the vulnerability; it exercises the vulnerability to achieve code execution with elevated privileges.
poc/main.cpp:117-140README.md:5-8Requirements
- Requires local low-privilege code execution on a vulnerable Windows system.
poc/main.cpp:63 - Requires a payload binary at payload withheld.
poc/main.cpp:140
Observed behavior
- Opens the current process token and leaks its kernel address.
poc/main.cpp:73-74 - Queries token information to locate a target offset for the race condition.
poc/main.cpp:88-99 - Executes a race condition by repeatedly calling NtQueryInformationToken in a loop while a high-priority thread modifies the token information buffer.
poc/main.cpp:117-123 - After winning the race, obtains a handle to winlogon.exe with PROCESS_ALL_ACCESS.
poc/main.cpp:124-125 - Uses the winlogon handle to spawn a SYSTEM-privileged process (powershell.exe launching payload withheld).
poc/main.cpp:140
Behaviors behind the backdoor verdict
Observables
- Hardcoded Payload Path
- Payload withheldThe exploit launches a hardcoded executable via PowerShell to demonstrate SYSTEM-level code execution. This is a standard PoC pattern and does not constitute a backdoor.
poc/main.cpp:140README.md:21-28 - Privilege Escalation Technique
- Payload withheldThe core exploit logic races a kernel token information query to gain a handle to winlogon.exe, then creates a child process inheriting its SYSTEM token. This is the documented CVE-2024-30088 technique.
poc/main.cpp:56-62poc/main.cpp:117-134poc/main.cpp:140
What the analysis did not establish
- Evidence includes only 3 of 7 repository files; 4 files are omitted and unclassified.
- The evidence does not include the compiled binary or the payload (shellz.exe).
- The analysis is based solely on static source code review; no dynamic execution or verification was performed.
- Only the three text files (README.md, poc/ex.h, poc/main.cpp) were reviewed. Four additional files in the repository (likely project/solution files and a precompiled binary) were not inspected. The compiled binary could differ from the provided source code.
- The review does not verify that the exploit works as claimed or that it is safe to execute.
This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.