Process
dllhost.exe
dllhost.exe is the COM Surrogate, a Windows host process that runs COM components out of process, isolated from the program that called them. Windows uses it constantly for work like generating file thumbnails and running shell extensions, so several instances at once are normal. Because it is a trusted, ever-present host, it is also a frequent target for masquerading and code injection.
File identity
- File type
- PE32+ executable
- Magic
- PE32+ executable (GUI)
- Original name
- dllhost.exe
- Internal name
- dllhost.exe
- Product
- Microsoft® Windows® Operating System
- Status
- Signed
- Publisher
- Microsoft Corporation
- Signer
- Microsoft Windows
- Issuer
- Microsoft Windows Production PCA 2011
- Signature rate
- 100%
10.0.26100.8328 (WinBuild.160101.0800)100%
81.50 KB100%
Execution context
C:\Windows\System32\dllhost.exe100%
Not observed.
Not observed.
2100%
Session 050%Session 150%
SeChangeNotifyPrivilege100%SeImpersonatePrivilege50%SeCreateGlobalPrivilege50%SeAuditPrivilege50%SeDebugPrivilege50%
Ancestry
Not observed.
Not observed.
Not observed.
Not observed.
Behavior
Not observed.
Not observed.
Not observed.
Not observed.
Indicators
Not observed.
Analysis
dllhost.exe exists so a COM object can run in its own process instead of inside the application that uses it. When a COM server is configured to run in a surrogate, for stability or isolation, Windows starts a dllhost.exe and loads the component's DLL into it. The classic example is thumbnail generation: Explorer hands the risky job of parsing an unknown file to a COM Surrogate, so a malformed file crashes dllhost.exe instead of the desktop. The genuine binary lives at C:\Windows\System32\dllhost.exe, with a 32-bit copy under SysWOW64.
A legitimate dllhost.exe almost always carries a /Processid:{GUID} argument naming the COM class it is hosting, and it is started by the COM infrastructure, so its parent is normally an svchost.exe running the DCOM Launch service. Many short-lived instances are normal as thumbnails render and shell actions run.
Instances come and go with the COM work that spawns them. What a given dllhost.exe is hosting is identified by the CLSID on its command line, which maps to a registered COM server under the registry's CLSID key.
Because dllhost.exe is always present and unremarkable, it is a common cover for malware. Some samples simply run under the name from the wrong directory (T1036.005), so a dllhost outside System32 is an immediate flag. More often, attackers inject into a genuine dllhost to blend in as a COM surrogate (T1055). A dllhost.exe with no /Processid argument, one reaching the network, or one spawning a shell is behaving unlike the real host, which only ever loads and runs a registered COM class.
Its defining abuse is COM hijacking (T1546.015). An attacker repoints a CLSID's registry entry, typically under HKCU, at their own DLL, so the next time that COM object is invoked, dllhost loads the malicious DLL under a trusted, signed process. This gives both execution and persistence, and it survives without any obvious autostart entry. A /Processid CLSID whose registered server is a DLL outside System32, especially one defined per-user, points to a hijack.
- Image path other than
C:\Windows\System32\dllhost.exeor itsSysWOW64copyhigh - Running with no
/Processid:{GUID}argumenthigh - A
/ProcessidCLSID that resolves to a DLL in a user-writable pathhigh - dllhost spawning child processes such as
cmd.exeorpowershell.exehigh - Outbound network connections from dllhosthigh
- Parent other than
svchost.exe(DCOM Launch)med - Running as an unexpected accountmed
Telemetry
Microsoft Windows 11 Enterprise Evaluation100%
- First seen
- 2026-06-08
- Last seen
- 2026-06-08
- Machines
- 1