
Correctif permanent pour la réinstallation via Windows Update du pilote vulnérable WinRing0 des Intel NUC (CVE-2020-14979)
Windows Defender signale OpenHardwareMonitorLib.sys (pilote WinRing0) comme VulnerableDriver:WinNT/Winring0 en raison de CVE-2020-14979. Ce pilote est fourni avec le service NUC Software Studio d'Intel et est réinstallé via Windows Update.
Ce dépôt fournit une solution définitive.
performancedriverextension.inf d'Intel installe NucSoftwareStudioServiceOpenHardwareMonitorLib.sys (pilote noyau WinRing0)Intel Corporation - Extension - 1.0.0.38 continue de le réinstallerLe pilote de performance Intel NUC (ACPI\INTC1036) est un périphérique ACPI qui expose des fonctionnalités spécifiques au NUC :
L'extension vulnérable se greffe sur ce pilote de base. Windows Update détecte le périphérique et propose des mises à jour de pilote pour celui-ci.
Cette option désactive entièrement le périphérique ACPI via une stratégie de groupe, empêchant tout pilote de se charger.
Exécutez scripts/disable-device-gpo.ps1 en tant qu'administrateur, ou manuellement :
# Run as Administrator
.\scripts\disable-device-gpo.ps1
Conserve le pilote de base mais bloque toutes les installations de pilotes Windows Update pour ce périphérique.
Compromis :
Exécutez scripts/block-driver-updates.ps1 en tant qu'administrateur.
Moins définitive - nécessite de masquer à nouveau si Intel publie de nouvelles versions.
Exécutez scripts/remove-and-hide.ps1 en tant qu'administrateur.
Vérifiez votre état actuel :
.\scripts\diagnose.ps1
| Composant | Chemin |
|---|---|
| Exécutable du service |
Après avoir appliqué une solution, vérifiez :
# Check service is gone
sc.exe query NucSoftwareStudioService
# Check no pending Intel extension updates
# (Run scripts/diagnose.ps1 for full status)
Scénario : Vérifier que le blocage de périphérique par stratégie de groupe (Option A) résiste à la tentative de Windows Update d'installer le pilote vulnérable.
Procédure de test :
ACPI\INTC1036 (périphérique désactivé)Résultats après l'installation du package par Windows Update :
Constat clé : Le blocage de périphérique GPO constitue la couche de protection efficace. Windows Update peut préparer le package de pilote dans le magasin de pilotes, mais il ne peut pas l'activer car l'ID matériel est bloqué. Le fichier .sys vulnérable n'est jamais extrait ni chargé.
Après confirmation que le blocage GPO tenait, un nettoyage complet a été effectué :
pnputil /delete-driver oem17.infwushowhide.diagcabÉtat final vérifié :
Le blocage de l'ID matériel à lui seul est une protection suffisante.
Les tests ont démontré que le blocage de ACPI\INTC1036 via une stratégie de groupe empêche le pilote vulnérable de se charger, même lorsque Windows Update télécharge et prépare avec succès le package de pilote. L'exécutable du service et le fichier .sys ne sont jamais extraits car le périphérique cible est désactivé.
Configuration minimale recommandée :
ACPI\INTC1036 — C'est la seule protection requiseLa simplicité de cette approche fait sa force : un seul blocage de périphérique basé sur le registre offre une protection complète sans interférer avec le fonctionnement normal de Windows Update pour les autres périphériques.
Lorsque le périphérique du pilote de performance Intel NUC (ACPI\INTC1036) est désactivé :
Ce qui n'est plus disponible :
Ce qui fonctionne toujours normalement :
Pourquoi cela est acceptable pour la plupart des utilisateurs :
Le pilote de performance NUC permet principalement la personnalisation logicielle du comportement du ventilateur/des LED. Le BIOS fournit des profils par défaut qui fonctionnent sans aucun pilote Windows. La plupart des utilisateurs règlent les courbes de ventilateur une fois dans le BIOS et n'y touchent plus jamais. Si vous avez besoin d'un contrôle dynamique du ventilateur sous Windows (par exemple, des profils de jeu qui basculent automatiquement), l'option A peut ne pas convenir—envisagez plutôt l'option B.
# Remove the Group Policy block
Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" -Recurse -Force
# Re-enable the device
$device = Get-PnpDevice | Where-Object { $_.InstanceId -like '*INTC1036*' }
Enable-PnpDevice -InstanceId $device.InstanceId -Confirm:$false
Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" -Recurse -Force
Si vous avez d'autres constatations ou améliorations, veuillez ouvrir une issue ou une PR.
Licence MIT - À utiliser à vos propres risques. Vérifiez toujours les scripts avant de les exécuter en tant qu'administrateur.
C:\WINDOWS\System32\DriverStore\FileRepository\performancedriverextension.inf_amd64_*\Service\NucSoftwareStudioService.exe| Pilote vulnérable | ...\Service\OpenHardwareMonitorLib.sys |
| INF du pilote de base | oem*.inf (PerformanceDriver) |
| INF de l'extension | performancedriverextension.inf |
| Vérification | Résultat |
|---|
| NucSoftwareStudioService | Introuvable (bon) |
| Magasin de pilotes | performancedriverextension.inf préparé en tant que oem17.inf |
| OpenHardwareMonitorLib.sys | Non extrait (bon) |
| Périphérique INTC1036 | Désactivé - GPO maintenu |
| Registre du blocage GPO | Actif |
| Composant | Statut |
|---|
| NucSoftwareStudioService | Introuvable ✓ |
| Magasin de pilotes (performancedriverextension.inf) | Propre ✓ |
| OpenHardwareMonitorLib.sys | Absent ✓ |
| Périphérique du pilote de performance Intel NUC | Désactivé ✓ |
| Blocage de périphérique par stratégie de groupe | Actif (INTC1036 bloqué) ✓ |
| Mise à jour de l'extension Intel | Masquée ✓ |