Record summary

CVE-2024-30051 has a selected CVSS score of 7.8 (high); EIP currently links 1 repository PoC. CISA lists CVE-2024-30051 in KEV and reports its use in known ransomware campaigns.

Description

Windows DWM Core Library Elevation of Privilege Vulnerability

Description source: GitHub Advisory

Exploitation context

Known exploitation

CISA KEV
Listed · May 14, 2024 · CISA
VulnCheck KEV
Listed · May 14, 2024 · VulnCheck
Reported exploitation
Observed · VulnCheck
Ransomware use
Observed · CISA

Available material

Repository PoCs
1

CISA SSVC decision

ExploitationActive
AutomatableNo
Technical impactTotal

CISA Coordinator · SSVC 2.0.3 · Evaluated May 15, 2024 · Source: CVE List

Affected products and versions

Showing 12 of 15
ProductSourceVersion rangeStatus
CISAVersion data not supplied
CVE List10.0.10240.0 to < 10.0.10240.20651affected
CVE List10.0.14393.0 to < 10.0.14393.6981affected
CVE List10.0.17763.0 to < 10.0.17763.5820affected
10.0.0 to < 10.0.17763.5820affected
CVE List10.0.19043.0 to < 10.0.19044.4412affected
CVE List10.0.19045.0 to < 10.0.19045.4412affected
CVE List10.0.22631.0 to < 10.0.22631.3593affected
CVE List10.0.0 to < 10.0.22000.2960affected
CVE List10.0.22621.0 to < 10.0.22621.3593affected
CVE List10.0.22631.0 to < 10.0.22631.3593affected
CVE List10.0.14393.0 to < 10.0.14393.6981affected

Windows Server 2016 (Server Core installation)

Browse Microsoft / Windows Server 2016 (Server Core installation)
CVE List10.0.14393.0 to < 10.0.14393.6981affected

Proofs of concept

1

Repository PoCs

GitHubdevianntsec/CVE-2024-30051Repository PoCby devianntsecStars: 1Exploit45 files

3.6 MiB

GitHub

PoC details
Analysisdeepseek-v4-pro:cloud ·

Technical assessment

The artifact is a complete exploit for CVE-2024-30051, a heap-based buffer overflow in Windows DWM Core Library. It includes C++ source code that performs API hooking, heap spraying, and memory corruption to achieve local privilege escalation to SYSTEM integrity level.

Backdoor review

No backdoor observed in reviewed code

The repository contains a proof-of-concept exploit for CVE-2024-30051, a Windows DWM heap overflow elevation of privilege. The exploit code (main.cpp) performs heap spraying, API hooking, and memory corruption to load a payload DLL (dllmain.cpp) into the DWM process. The payload DLL spawns a SYSTEM-level command prompt and performs self-cleanup. All observed behavior is consistent with the stated exploit objective; no concealed backdoor, unrelated remote access, persistence mechanism, or credential theft was found in the reviewed source code.

ClassificationExploit
Model confidence100%
AuthenticationNot required
LanguagesC++Batch
Target softwareWindows Desktop Window Manager (dwmcore.dll)Windows 11 22H2
Attack typesHeap-based Buffer OverflowLocal Privilege Escalation
Evidence & reasoningClassification basis · observed behavior · safety review
Technical evidence

Classification basis and observed behavior

Classification basis

The artifact contains complete C++ source code that actively exploits CVE-2024-30051 by hooking system APIs, corrupting heap memory, and injecting a payload to achieve code execution as SYSTEM. The README explicitly describes it as an exploit and provides step-by-step instructions for building and running it to gain elevated privileges.

README.md:9-10README.md:97-105exploit/exploit_src/main.cpp:1-1203

Requirements

  • Windows 11 22H2 build 22621.3447 without patch KB5037771README.md:11README.md:77
  • Visual Studio 2022 with C++ Desktop workload to build the exploit and payload DLLREADME.md:78
  • Payload DLL (s11.dll) must be placed at payload withheld before running the exploitREADME.md:87-91

Observed behavior

  • Installs inline hooks on RtlAllocateHeap, RtlCreateHeap, NtDCompositionCreateChannel, and NtDCompositionCommitChannel to intercept DWM heap operations and DirectComposition channel creationexploit/exploit_src/main.cpp:411-480exploit/exploit_src/main.cpp:769-787
  • Modifies the size field in a DWM heap chunk from 0x120 to 0x23F to trigger a 0x8F-byte heap overflow during memcpyexploit/exploit_src/main.cpp:574-602
  • Performs a heap spray of 0x10000 CHolographicInteropTexture objects and frees holes to control heap layout for the overflowexploit/exploit_src/main.cpp:943-1014
  • Writes a payload into the overflow buffer that overwrites KernelCallbackTable+0x388 with a pointer to LoadLibraryA and the path to the attacker-controlled DLLexploit/exploit_src/main.cpp:367-397
  • Releases all spray objects to trigger the overflow in dwm.exe, causing it to load the payload DLL and execute code as SYSTEMexploit/exploit_src/main.cpp:1039-1061
  • Payload DLL spawns a cmd.exe process under the DWM process with SYSTEM integrity level and performs self-cleanupexploit/payload/dllmain.cpp:78-127
Safety-review evidence

Behaviors behind the backdoor verdict

Observables

Exploit Behavior
Payload withheldThis is the core exploit mechanism for CVE-2024-30051, matching the repository's stated purpose.exploit/exploit_src/main.cpp:158-169exploit/exploit_src/main.cpp:486-668exploit/exploit_src/main.cpp:943-1067
Payload Behavior
Payload withheldThe payload DLL's behavior is exactly what is described in the README and comments: it provides an interactive SYSTEM shell and cleans up after itself. No persistence or unrelated actions are taken.exploit/payload/dllmain.cpp:78-127exploit/payload/dllmain.cpp:23-75
File Path
Payload withheldHardcoded payload DLL path used by the exploit and the setup script. This is a standard location for temporary files and is consistent with the exploit's need to place a DLL for DWM to load.exploit/exploit_src/main.cpp:42README.md:87-88
Log File
Payload withheldThe exploit writes a detailed session log for debugging and academic purposes. This is a local log file, not an exfiltration channel.exploit/exploit_src/main.cpp:60-85
Review boundaries

What the analysis did not establish

  • Evidence includes only 6 of 45 total files; 29 non-text media files and 10 unclassified files are not analyzed.
  • The exploit binary is not provided; only source code is available.
  • The payload DLL source is provided but the compiled DLL is not included in the evidence.
  • Only the six text files included in the evidence packet were reviewed. The repository contains 39 other files (including 29 non-text media files and 10 unclassified files) that were not inspected. The review does not cover precompiled binaries, project files, or documentation images.
  • The payload DLL's self-deletion behavior could be used to hide evidence of exploitation, but this is a common feature of post-exploitation tools and is not itself a backdoor.
Model interpretation

This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.

References

3