Windows COM Flaw Lets Attackers Gain SYSTEM Privileges With a Malicious DLL
Project Zero details CVE-2026-66804, a Windows COM flaw giving SYSTEM via planted DLL; patched in August, PoC and commercial module public.
CVE-2026-66804 (CVSS 7.8, High) lets an authenticated local user plant a malicious DLL in %PROGRAMDATA%\CrossDevice\ that a SYSTEM process loads through a dangling COM registration for the Windows CrossDevice component, chained via custom COM marshaling in the Shell Create Object Handler. It is an incomplete fix for the earlier 'Dark Elevator' bug CVE-2026-50343. Microsoft patched it in the August 2026 Patch Tuesday, but public PoC code has surfaced and at least one commercial exploitation module automates the LOCAL SERVICE-to-SYSTEM chain.
- CVE-2026-66804 (CVSS 7.8) escalates standard users to SYSTEM via dangling CrossDevice COM registration
- Incomplete fix for 'Dark Elevator' CVE-2026-50343, chained through COM custom marshaling
- Public PoC exists; commercial module automates LOCAL SERVICE-to-SYSTEM chain
- Fixed in August 2026 cumulative updates
Vulnerabilities mentionedAll →
- CVE-2026-503437.8<1%Improper privilege management in Microsoft Install Service allows an authorized attacker to elevate privileges locallypublished · microsoft windows 10 1809
- CVE-2026-668047.85%Local Privilege Escalation in Microsoft Windows Cross Device Service
Full article721 words · extracted from cybersecuritynews.com · click to collapse
A newly detailed Windows privilege escalation flaw tracked as CVE-2026-66804 allowed a standard, low-privileged user to plant a malicious DLL and execute arbitrary code with full NT AUTHORITY\SYSTEM privileges, exploiting a lingering weakness in how Windows handles Component Object Model (COM) registrations.
The bug, patched by Microsoft in its August Patch Tuesday, was reported by a Google Project Zero researcher alongside 14 others and turned out to be an incomplete fix for an earlier flaw known as “Dark Elevator”.
The root of the problem lies in a dangling COM object registration for the Windows CrossDevice component the service behind Phone Link, clipboard sync, and cross-device file sharing.
The object, registered under the CLSID {E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496}, sat in the system-wide classes registry key, making it reachable by every user on the machine, including SYSTEM services.
Crucially, the DLL it pointed to %PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll did not actually exist on affected systems, and that path lives inside C:\ProgramData, a directory where any standard user can create folders and files.
That combination let an attacker plant an arbitrary DLL at the missing location, priming the COM object to load attacker-controlled code the moment it was instantiated.
This was not the first time the CrossDevice registration caused trouble. The original bug, CVE-2026-50343, dubbed “Dark Elevator” by researchers at Calif, abused weak registry key permissions to register the class as an installer plugin and coaxed the SYSTEM-level InstallService into loading it into memory.
Microsoft fixed the InstallService issue in July 2026, but the underlying dangling COM reference remained, forcing researchers to hunt for an alternative activation path.
According to Google Project Zero, the alternative came from a well-worn technique: abusing custom COM marshaling. When a COM interface method is implemented out-of-process, the runtime marshals its parameters into a remote procedure call, and objects passed as parameters are serialized into an OBJREF structure.
By default, COM marshals by reference, but an object implementing the IMarshal interface can opt into marshal-by-value and specify an arbitrary CLSID to be loaded during unmarshaling.
By pointing that CLSID at the dangling CrossDevice class, an attacker could force a privileged process to load the planted DLL automatically, before the target method ever runs.
.webp)
The catch is that Microsoft anticipated this abuse. Since Windows 8, services can disable custom marshaling using the EOAC_NO_CUSTOM_MARSHAL flag in CoInitializeSecurity or the stronger COMGLB_UNMARSHALING_POLICY_STRONG setting via IGlobalOptions::Set.
To succeed, an attacker therefore needs a privileged SYSTEM COM server that neglects to enable these hardening controls.
The researcher located exactly such a target in the Shell Create Object Handler object (CLSID 135fd325-45b7-4c30-89f8-4386961669f0), a component previously studied and exploited that runs inside a SYSTEM dllhost process with custom marshaling still allowed.
Because the object has no backing service, it cannot be instantiated directly; instead, it must be launched through the user-startable \Microsoft\Windows\Shell\CreateObjectTask scheduled task, paired with a global ShellCreateObjectTaskReadyEvent to keep it alive.
With the SYSTEM server running, the exploit simply passes a fake marshaled object through the object’s lone ICreateObject interface, triggering unconditional unmarshaling and loading the malicious DLL into the SYSTEM process for full privilege escalation.
Microsoft rates CVE-2026-66804 as High severity with a CVSS score of 7.8, exploitable locally by an authenticated user with no user interaction required.
Proof-of-concept exploit code has since surfaced publicly, and at least one commercial exploitation module now automates the LOCAL SERVICE-to-SYSTEM chain, underscoring the practical risk to unpatched hosts.
Administrators should apply the August 2026 cumulative updates without delay, as the fix removes the dangling registration that enables the attack.
Beyond the specific patch, the research is a reminder that dangling COM registrations remain a fertile and often overlooked class of local privilege escalation bugs.
The same marshaling trick that exploits missing DLLs can also crash or subvert buggy custom unmarshalers, and defenders can proactively hunt for similar flaws by scanning in-process COM classes whose registered DLLs cannot be resolved on disk then checking whether an attacker could plant one.
Cut every SOC alert investigation by 21 min. Power your SOC with instant IOC context for immediate response: Integrate TI Lookup in your SOC
Guru Baranhttps://cybersecuritynews.com
Gurubaran KS is a cybersecurity analyst, and Journalist with a strong focus on emerging threats and digital defense strategies. He is the Co-Founder and Editor-in-Chief of Cyber Security News, where he leads editorial coverage on global cybersecurity developments.