March 5, 2018

What is COM Surrogate in Windows 10 and Is It a Virus?

Have you ever noticed the COM Surrogate process in the Windows 10 task manager? I was browsing through the list of processes and noticed two of them running on my system.

Understanding the different processes in task manager can be quite a challenge. I already wrote a detailed post on svchost.exe, which is a process that hosts different Windows services. There can easily be 10 to 15 of these running on your system at any given time.

In this article, I’ll give you a quick look at what COM Surrogate is in Windows 10 and whether you have to worry about it or not.

What is COM Surrogate?

COM Surrogate is one of those processes where you really have no idea of what it does by looking at it. It doesn’t have a custom icon and sits there without providing much information about what it does.

Sometimes, there are multiple COM Surrogate processes running at once. If you go to task manager, you’ll normally see two of them running.

If you right-click on either and choose Go to Details, you’ll see that the process name is actually dllhost.exe. You’ll also notice that the process runs under your username and not the System or Local Service or Network Service accounts.

Thankfully, COM Surrogate is not a virus (most of the time). It’s a legitimate Windows 10 process that runs in the background. It’s called dllhost because the process is hosting DLL files. That probably makes no sense, so let’s explain it in more detail.

Basically, Microsoft created an interface for developers to create extensions to programs called COM Objects. This is used for certain programs in Windows 10 also. For example, Windows Explorer has a COM object that allows it to create thumbnails for images and videos in a folder.

However, the big problem with these COM objects was that they would crash and bring the Explorer process down with it too. That meant your whole system would crash if a COM object failed for any reason.

To fix this issue, Microsoft came up with the COM Surrogate process that basically ran the COM object in a separate process than the one that requested it. So, in the Explorer example, the COM object would not run in the explorer.exe process, but instead in this newly created COM surrogate process.

Now, if the COM object crashed, it would only take out the COM Surrogate process and Explorer would continue running. Pretty smart, right?

Actually, if you download Process Explorer, you can see the COM object I am referring to above.

If you hover your mouse over the dllhost.exe entry, you can see the COM class is Microsoft Thumbnail Cache, which is the extension used to create the thumbnails in Explorer.

Can COM Surrogate Be a Virus?

There have been instances in the past where trojans and viruses have hidden in the Windows operating system by masking themselves as COM Surrogate and other Windows processes.

If you open task manager, right-click on the process and choose Open file location, you’ll be able to find the source location for the process.

If COM Surrogate process leads to a file called ‘dllhost’ in the C:WindowsSystem32 folder, it’s unlikely to be a virus. If it leads elsewhere, you should run a virus scan immediately.

Usually, COM surrogate uses very little memory and CPU and there are only one or two instances of it running. If there are numerous dllhosts.exe processes or the process is eating up more than 1 to 2 percent of your CPU, I would suggest performing an offline virus scan, which can better detect tricky hidden viruses.

Hopefully, reading through this article has taught you a thing or two about COM Surrogate and Windows 10 background processes. Going forward, you should be less worried about seeing processes like this running in the background.

If you still have any questions, leave a comment and we’ll try to help. Enjoy!