PoC Archive PoC Archive
CVE-2026-21508 category: binary CVSS 7.8 (HIGH)
Patched

Windows Media Player DLL Hijack -- Local Privilege Escalation (CVE-2026-21508)

Published: 2026-08-16 • Researcher: 0xc4r

Target software Microsoft Windows Media Player / WUDFHost.exe
Affected versions Windows 11 (pre-patch)
Status Patched
Severity High · CVSS 7.8
CVSS 7.8/10
Severity
High
CVE
CVE-2026-21508
Category
binary
Affected product
Microsoft Windows Media Player / WUDFHost.exe
Affected versions
Windows 11 (pre-patch)
Disclosed
2026-08-16
Patch status
Patched
On this page

Metadata

FieldValue
Date Added2026-08-16
Last Updated2026-08-16
Author / Researcher0xc4r
CVE / AdvisoryCVE-2026-21508
Categorybinary
SeverityHigh
CVSS Score7.8 (local privilege escalation)
StatusPatched
Tagswindows, dll-hijack, lpe, privilege-escalation, media-player, wudfhost, session0, com-hijack, CVE-2026-21508

Affected Target

FieldValue
Software / SystemMicrosoft Windows Media Player / WUDFHost.exe
Versions AffectedWindows 11 (pre-patch)
Language / PlatformC++ (DLL source), Batch (setup), Visual Studio project
Authentication RequiredLocal unprivileged user
Network Access RequiredNone – local exploitation

Summary

CVE-2026-21508 is a DLL hijacking vulnerability that achieves Session 0 privilege escalation on Windows 11. WUDFHost.exe loads CrossDevice.Streaming.Source.dll from the user-writable path C:\ProgramData\CrossDevice\. By planting a malicious DLL and manipulating COM CLSID registry entries under HKCU, an unprivileged user redirects WUDFHost.exe to load the DLL in a privileged context when Windows Media Player triggers the driver framework. The DLL calls RevertToSelf() to drop impersonation and spawns an elevated cmd.exe.

Vulnerability Details

Root Cause

WUDFHost.exe performs COM object instantiation via SHCoCreateInstance using CLSIDs that can be redirected through per-user HKCU registry entries. A low-privilege user can hijack the CLSID chain to force WUDFHost.exe to load an arbitrary DLL from a user-writable location. Adding a ShellFolder key bypasses verclsid.exe validation.

Attack Flow

  1. DLL placement: Copy crafted DLL to C:\ProgramData\CrossDevice\CrossDevice.Streaming.Source.dll
  2. COM hijack: Registry entries redirect CLSID {F5FB2C77-...} Instance to {E9F83CF2-...}
  3. Validation bypass: ShellFolder key makes WUDFHost call CoCreateInstance directly
  4. Trigger: Launch Windows Media Player with USB media present
  5. Escalation: DLL calls RevertToSelf() and spawns elevated cmd.exe in Session 0

Impact

  • Local privilege escalation on Windows 11
  • Elevated command execution in Session 0
  • Requires local user session and USB flash drive

Environment / Lab Setup

Output
Requirements:
- Windows 11 (pre-patch)
- Visual Studio (build DLL from source)
- USB flash drive with at least one .jpg file
- Local unprivileged user session

1. Build Session0_CMD project (Release, x64) in Visual Studio
2. Attach USB flash drive
3. Run: SETUP.bat F:\   (F:\ = USB drive letter)
4. Follow WMP setup if prompted

Proof of Concept

Source files mirrored from 0xc4r/CVE-2026-21508_POC.

Key Files

FilePurpose
Session0_CMD/dllmain.cppDLL source – RevertToSelf() + spawn elevated cmd.exe (47 lines)
SETUP.batCopies DLL, creates registry keys, triggers wmplayer.exe
alps.jpgStock photograph for USB media detection

Exploit Code (dllmain.cpp core)

C++ source
1
2
3
4
5
BOOL myvar = RevertToSelf();  // drop impersonation
if (IsElevated()) {
    CreateProcessA(NULL, "C:\\Windows\\System32\\cmd.exe",
                   NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
}

Expected Outcome

After SETUP.bat and WMP activation, Process Explorer shows cmd.exe as child of WUDFHost.exe running at elevated integrity in Session 0.

Detection and Indicators of Compromise

Output

Remediation

ActionDetail
PatchApply Microsoft security update for CVE-2026-21508.
WorkaroundMonitor writes to C:\ProgramData\CrossDevice. Audit HKCU COM registrations.
VerificationCheck for unauthorized DLLs in CrossDevice directory. Verify Windows Update status.

References

Notes

All source files screened. DLL project is a simple C++ DLL (47 lines) calling RevertToSelf() and CreateProcessA. SETUP.bat creates two registry keys. alps.jpg is a stock landscape photograph (3.3MB). No pre-compiled DLL binaries – must build from Visual Studio source. No obfuscation, no remote connections, no network activity. Tested for Windows 11.