COM Surrogate (dllhost.exe) : résoudre la surcharge CPU sur Windows 11 23H2

Sur Windows 11 Pro 23H2, COM Surrogate (dllhost.exe) peut saturer le CPU, provoquer une sur‑chauffe et vider la batterie. Voici une méthode éprouvée pour diagnostiquer, éliminer un crypto‑mineur niché dans COM et stabiliser le système de manière durable.

Sommaire

Surcharge CPU de COM Surrogate (dllhost.exe)

Vue d’ensemble du problème

Plusieurs utilisateurs constatent des pics CPU persistants attribués à COM Surrogate. La fermeture manuelle du processus via le Gestionnaire des tâches n’apporte qu’un répit momentané, car dllhost.exe se relance dès qu’un composant COM est requis (miniatures, codecs, filtres d’aperçu, imprimantes virtuelles, etc.). Dans les cas étudiés, l’analyse a mis en évidence un crypto‑mineur injecté dans l’hôte COM, et des DLL non signées chargées à la volée.

Symptômes et signaux d’alerte

  • Utilisation CPU élevée, ventilateurs au maximum, température qui grimpe en quelques secondes.
  • Batterie qui se vide anormalement vite en usage léger (navigation, bureautique).
  • Plusieurs instances dllhost.exe actives, dont l’une ou plusieurs monopolisent une part significative du CPU/GPU.
  • Reprise immédiate du problème après redémarrage, sans application ouverte visible.
  • Débits réseau inopinés alors qu’aucun transfert n’est en cours.

Pourquoi COM Surrogate peut monopoliser le CPU ?

dllhost.exe est un conteneur neutre qui héberge des objets COM externes (codecs vidéo, extensions d’aperçu, filtres de miniatures, gestionnaires d’impression PDF, modules de recherche, etc.). Si un composant est défaillant — ou malveillant — l’hôte entre en boucle, calcule intensivement (minage) ou force la génération de miniatures/analyses sans fin. La source peut être logicielle (codec tiers, extension shell instable), matérielle (erreurs disque provoquant des relectures), ou malveillante (DLL injectée, tâche planifiée, clé de démarrage persistante).

Solutions apportées pendant la session

ÉtapeActionObjectif
1Diagnostiquer avec Farbar Recovery Scan Tool (FRST) → lancer FRST64.exe renommé en EnglishFRST64.exe, cliquer sur Scan, puis partager les fichiers FRST.txt et Addition.txt.Identifier extensions ou malwares injectés dans le processus dllhost.exe.
2Analyse des journaux : détection d’un crypto‑mineur et de DLL suspectes chargées par COM Surrogate.Confirmer une infection plutôt qu’un simple bug de codec ou de pilote.
3Fourniture d’un fichier fixlist.txt personnalisé. Dans FRST, onglet Fix, sélectionner le fixlist et laisser l’outil exécuter la réparation, puis redémarrer.Supprimer les exécutables/DLL malveillants, nettoyer le Registre et réinitialiser les associations de COM.
4Vérifier le fichier Fixlog.txt généré après redémarrage et le partager si de nouveaux symptômes apparaissent.S’assurer que toutes les clés/objets malveillants ont bien été supprimés.
5Pour tout autre PC touché : ne pas réutiliser le fixlist d’un autre ordinateur ; exécuter un nouveau scan FRST afin d’obtenir un correctif adapté.Éviter d’effacer à tort des fichiers légitimes ou de manquer des chemins infectés différents.

Résultat

Après application du correctif FRST, l’utilisation CPU de COM Surrogate est revenue à la normale et la sur‑chauffe a cessé. L’utilisateur a confirmé la résolution.


Procédure détaillée et bonnes pratiques

Préparation (sécurité et sauvegardes)

  • Connectez‑vous avec un compte administrateur local.
  • Créez un point de restauration système et sauvegardez les données importantes (profil utilisateur, documents critiques).
  • Fermez les applications non essentielles pour limiter le bruit pendant le diagnostic.
  • Si le PC est brûlant, branchez‑le au secteur, surélevez‑le pour la ventilation et laissez‑le refroidir quelques minutes avant le scan.

Diagnostic avec FRST (mode lecture)

  1. Téléchargez FRST sur le Bureau et renommez FRST64.exe en EnglishFRST64.exe (cela force l’interface anglaise et homogénéise les journaux).
  2. Exécutez l’outil en tant qu’administrateur, cochez Additions.txt si proposé, puis cliquez sur Scan.
  3. Attendez la fin de l’analyse et récupérez FRST.txt et Addition.txt depuis le Bureau.
  4. Ne lancez pas de correction sans fixlist dédié. Un fixlist générique peut supprimer des fichiers légitimes.

Pourquoi renommer l’exécutable en EnglishFRST64.exe ?

Les journaux en anglais simplifient la relecture croisée et l’écriture d’un fixlist robuste (noms de clés, chemins, messages normalisés). Cela évite des faux positifs liés à des localisations de chaînes.

Analyse des journaux FRST : ce qu’il faut chercher

Les indices d’un crypto‑mineur ou d’une DLL hostile chargée par dllhost.exe se concentrent sur les zones suivantes :

IndicateurExemples typiques dans FRSTInterprétation
Tâches planifiées anormalesTask: \Microsoft\Windows\… vers un binaire inconnu dans %ProgramData% ou %AppData%Persistance post‑redémarrage, souvent avec exécution silencieuse et intervalle court.
Clés de démarrage Run/RunOnceHKCU\Software\Microsoft\Windows\CurrentVersion\Run vers .exe/.dll non signésLancement à l’ouverture de session, parfois camouflé sous un nom proche d’un composant système.
Modules COM non signésInprocServer32 pointant vers une DLL dans %Temp% ou un dossier aléatoireInjection directe dans l’hôte dllhost.exe.
Services suspectsService Windows Update Helper (faux), binaire hors C:\Windows\System32Esquive des contrôles d’intégrité via un service factice.
Fichiers récemment créésExécutables/DLL datés des dernières 24–72 h, nommage aléatoireÉléments déposés par l’infection, souvent couplés à des tâches planifiées.

Création et application d’un fixlist personnalisé

Le fixlist orchestre la suppression des binaires/DLL malveillants, l’effacement de clés de persistance et la remise à zéro des associations COM corrompues. Il doit être écrit pour votre machine à partir de vos journaux FRST. N’utilisez jamais un fixlist trouvé ailleurs.

Important : un fixlist inadapté peut neutraliser des composants légitimes (imprimantes, codecs vidéo, extensions métiers). Sauvegardez, puis exécutez la réparation depuis l’onglet Fix de FRST, laissez le système redémarrer et attendez la fin du script.

Exemple pédagogique de structure (ne pas copier tel quel)

# Ce bloc illustre la logique d'un fixlist FRST — il ne doit pas être exécuté tel quel.
Start::
CreateRestorePoint:
CloseProcesses:
Task: {...} => supprimée si pointe vers binaire inconnu
HKCU\...\Run: [NomSuspect] -> <chemin suspect>
HKLM\...\InprocServer32: [CLSID] -> <DLL malveillante>
DeleteFile: <chemin du binaire>
DeleteKey: HKCU\Software\Classes\CLSID\{...}\InprocServer32
CMD: ipconfig /flushdns
CMD: del /f /q "%LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db"
Reboot:
End::

Vérifier Fixlog.txt après redémarrage

Ouvrez Fixlog.txt et contrôlez :

  • Qu’aucune entrée essentielle (pilotes, imprimantes, codecs légitimes) n’a été supprimée.
  • Que les éléments ciblés affichent Deleted successfully ou équivalent, sans erreurs d’accès.
  • Qu’aucune tâche planifiée suspecte ne reste active.

Si le CPU reste élevé ou si de nouvelles entrées apparaissent dans le Fixlog, refaites un scan pour générer des journaux frais et affiner la correction.

Nettoyage et durcissement post‑incident

  • Effectuez une analyse Microsoft Defender hors‑ligne ou via un antivirus tiers à jour.
  • Mettez à jour Windows, les pilotes graphiques et les packs de codecs (HEVC, AV1, etc.).
  • Désinstallez/réinstallez les applications multimédias récemment ajoutées si elles embarquent leurs propres codecs.
  • Créez un nouveau point de restauration une fois la machine stabilisée.
  • Activez SmartScreen et évitez l’exécution de binaires non signés provenant de sources inconnues.

Dépannage quand aucune infection n’est trouvée

Désactivation ciblée des miniatures Explorer

Un cache de miniatures corrompu ou un lot de fichiers médias endommagés peut faire tourner dllhost.exe en boucle. Testez :

  1. Ouvrez les Options des dossiers et cochez « Toujours afficher des icônes, jamais de miniatures ».
  2. Videz le cache des miniatures via l’outil de nettoyage de disque, ou en ligne de commande :
taskkill /f /im explorer.exe
del /f /s /q "%LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db"
start explorer.exe

Vérifier la santé du disque et l’intégrité système

chkdsk /scan
SFC /scannow
DISM /Online /Cleanup-Image /RestoreHealth

Un disque qui présente des erreurs de lecture ou un magasin de composants endommagé peut déclencher des boucles d’aperçu et sur‑solliciter COM.

Fichiers médias fautifs et pilotes

  • Déplacez temporairement les gros dossiers vidéos/images pour voir si la charge retombe.
  • Mettez à jour le pilote GPU et désactivez les packs de codecs tiers non indispensables pour isoler la cause.
  • Testez l’ouverture des mêmes dossiers via un compte utilisateur différent pour exclure une corruption de profil.

Investigation avancée (optionnelle)

Suivre l’activité réseau de dllhost.exe

Un mineur ou un module espion peut contacter des serveurs distants. Listez les connexions établies par chaque PID dllhost.exe :

Get-Process dllhost -ErrorAction SilentlyContinue | ForEach-Object {
  $pid = $_.Id
  Get-NetTCPConnection -OwningProcess $pid |
    Select-Object State,LocalAddress,LocalPort,RemoteAddress,RemotePort,
                  @{Name='PID';Expression={$pid}}
}

Inspecter les modules chargés

Sur une session élevée, vous pouvez relever les bibliothèques injectées :

Get-Process -Name dllhost -ErrorAction SilentlyContinue | ForEach-Object {
  $_.Modules | Select-Object ModuleName,FileName
}

Recherchez des DLL non signées situées hors des répertoires système habituels.

Comparer l’impact sur batterie et sur secteur

Générez un rapport d’autonomie pour quantifier le gain après correction :

powercfg /batteryreport /output "%USERPROFILE%\Desktop\battery-report.html"

Erreurs fréquentes et comment les éviter

  • Réutiliser un fixlist d’un autre PC : à proscrire. Les chemins, GUID et CLSID diffèrent selon les machines.
  • Supprimer au hasard des clés COM : risque de casser l’aperçu PDF/images ou des imprimantes virtuelles.
  • Ignorer les pilotes/codec obsolètes : même sans malware, ils peuvent réactiver la surcharge CPU.
  • Oublier de vérifier le disque : des erreurs silencieuses déclenchent des boucles de génération de miniatures.

Questions fréquentes

COM Surrogate est‑il un virus ?
Non. C’est un processus hôte Windows légitime. Il peut toutefois charger du code tiers défectueux ou malveillant.

Fermer dllhost.exe suffit‑il ?
Non. Il redémarre dès qu’un objet COM est requis. Il faut corriger la cause (extension, codec, malware).

Pourquoi utiliser FRST ?
Parce qu’il dresse un inventaire précis de la persistance (tâches, services, clés COM) et permet de cibler proprement la réparation via un fixlist adapté.

Que faire si la charge réapparaît après correction ?
Refaites un scan FRST, vérifiez Fixlog.txt, inspectez les nouveaux points d’ancrage (Run, tâches, services), et effectuez un passage hors‑ligne de l’antivirus. Mettez à jour les codecs/pilotes.

Est‑ce lié aux miniatures d’Explorer ?
Souvent, oui. Un cache corrompu ou un fichier média spécifique peut déclencher des boucles d’aperçu. Désactivez temporairement les miniatures pour trancher.


Checklist express

  • Sauvegarde + point de restauration.
  • Scan FRST (binaire renommé en EnglishFRST64.exe).
  • Lecture de FRST.txt/Addition.txt → recherche des tâches, Run, COM, DLL non signées.
  • Fixlist personnalisé → Fix → redémarrage.
  • Contrôle Fixlog.txt + scan antivirus hors‑ligne.
  • Mises à jour Windows/pilotes/codec et cache miniatures régénéré.

Informations complémentaires utiles

Pourquoi COM Surrogate peut monopoliser le CPU

dllhost.exe sert d’hôte à de nombreuses extensions : codecs vidéo, filtres d’aperçu, miniatures Explorer, imprimantes virtuelles, etc. Un composant défectueux (ou malveillant) force l’hôte à boucler ou à miner en arrière‑plan.

Bonnes pratiques post‑nettoyage

  • Effectuer une analyse Microsoft Defender hors‑ligne ou avec un antivirus tiers à jour.
  • Mettre Windows, pilotes graphiques et packs de codecs à jour (HEVC, AV1, etc.).
  • Désinstaller ou ré‑installer les applications multimédia récentes si elles ont ajouté leurs propres codecs.
  • Créer un point de restauration et sauvegarder les données importantes avant toute manipulation FRST.

Dépannage sans infection (cas plus rares)

  • Si aucun malware n’est détecté, tester la désactivation des miniatures Explorer (Options des dossiers ▸ Toujours afficher des icônes, jamais de miniatures).
  • Vérifier la santé du disque (chkdsk /scan) et la cohérence systèmes (SFC /scannow puis DISM /Online /Cleanup-Image /RestoreHealth).

Annexes : matrices d’aide et commandes utiles

Typologie des causes et actions rapides

Cause probableIndicesAction immédiateAction durable
Crypto‑mineurCPU/GPU élevés au repos, trafic sortant constant, DLL non signéesScan FRST + fixlist personnaliséDurcissement Defender, mises à jour, hygiène de téléchargement
Codec/extension défectueuxCharge lors de l’ouverture d’un dossier précis (images/vidéos)Désactiver miniatures, vider cacheMettre à jour/désinstaller le codec ou l’application concernée
Cache miniatures corrompuCharge récurrente d’dllhost.exe en parcourant l’ExplorateurSupprimer thumbcache, redémarrer ExplorerLaisser Windows régénérer un cache sain
Erreurs disqueÉvénements système, latences I/Ochkdsk /scan, S.M.A.R.T.Remplacement du disque si erreurs récurrentes

Bloc de commandes de référence

:: Intégrité système
SFC /scannow
DISM /Online /Cleanup-Image /RestoreHealth

:: Stockage — vérification rapide
chkdsk /scan

:: Miniatures — purge du cache
taskkill /f /im explorer.exe
del /f /s /q "%LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db"
start explorer.exe

:: Batterie — rapport d'usage
powercfg /batteryreport /output "%USERPROFILE%\Desktop\battery-report.html"

:: Réseau — connexions de dllhost.exe
Get-Process dllhost -ErrorAction SilentlyContinue | %{
$p=$_.Id
Get-NetTCPConnection -OwningProcess $p | Select State,LocalAddress,LocalPort,RemoteAddress,RemotePort,@{n='PID';e={$p}}
} 

Conclusion

Un pic CPU persistant de COM Surrogate n’est pas une fatalité. En combinant un diagnostic FRST rigoureux, un fixlist fait sur mesure et quelques mesures d’hygiène (mises à jour, purge des caches, contrôle hors‑ligne), on élimine durablement les causes réelles — qu’il s’agisse d’un codec défaillant ou d’un malware de minage. En cas de récidive, il suffit de rejouer la séquence : scanner, corriger, vérifier, puis durcir le poste.

Sommaire