Vulnérabilité dans le service Windows Print Spooler

[Mise à jour du 02/07/2021] La CVE-2021-1675 impactant le service Print Spooler a été, en réalité, corrigé par Microsoft début Juin. La vulnérabilité faisant l'objet de cette alerte a été référencée comme la CVE-2021-34527 par Microsoft le 2 juillet.

[Mise à jour du 07/07/2021] Plusieurs correctifs de sécurité (selon la plateforme impactée) sont disponibles. Le CERT Santé recommande de les appliquer le plus tôt possible. Ces correctifs sont disponibles sur la page Microsoft décrivant la CVE-2021-34527, sous l'onglet "Security Updates".

 

Cette vulnérabilité concerne le service de file d’attente d’impression Windows. Elle est due à une gestion incorrecte de fichiers exécutés dans un mode privilégié par le service. Son exploitation peut permettre à un attaquant local et non-authentifié d’obtenir les privilèges SYSTEM et d’exécuter du code arbitraire sur une machine vulnérable en chargeant un fichier dll malveillant.

Microsoft a signalé que cette vulnérabilité était actuellement exploitée.

Plusieurs codes d’exploitation sont disponibles publiquement en ligne, le code malveillant nommé “PrintNightmare” a notamment été vérifié comme fonctionnel.

  • Elévation de privilèges
  • Exécution de code arbitraire

L'exploitation de cette vulnérabilité est possible à distance sur tous les systèmes Windows où le service Print Spooler est activé. Ce service est activé par défaut.

  • Windows Server 2012 R2 (Server Core installation)
  • Windows Server 2012 R2
  • Windows Server 2012 (Server Core installation)
  • Windows Server 2012
  • Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
  • Windows Server 2008 R2 for x64-based Systems Service Pack 1
  • Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)
  • Windows Server 2008 for x64-based Systems Service Pack 2
  • Windows Server 2008 for 32-bit Systems Service Pack 2
  • Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
  • Windows RT 8.1
  • Windows 8.1 for x64-based systems
  • Windows 8.1 for 32-bit systems 
  • Windows 7 for x64-based Systems Service Pack 1 
  • Windows 7 for 32-bit Systems Service Pack 1 
  • Windows Server 2016 (Server Core installation) 
  • Windows Server 2016 
  • Windows 10 Version 1607 for x64-based Systems 
  • Windows 10 Version 1607 for 32-bit Systems 
  • Windows 10 for x64-based Systems 
  • Windows 10 for 32-bit Systems
  • Windows Server, version 20H2 (Server Core Installation) 
  • Windows 10 Version 20H2 for ARM64-based Systems 
  • Windows 10 Version 20H2 for 32-bit Systems 
  • Windows 10 Version 20H2 for 32-bit Systems 
  • Windows Server, version 2004 (Server Core installation) 
  • Windows 10 Version 2004 for x64-based Systems
  • Windows 10 Version 2004 for ARM64-based Systems 
  • Windows 10 Version 2004 for 32-bit Systems 
  • Windows 10 Version 21H1 for 32-bit Systems
  • Windows 10 Version 21H1 for ARM64-based Systems
  • Windows 10 Version 21H1 for x64-based Systems
  • Windows Server, version 1909 (Server Core installation) 
  • Windows 10 Version 1909 for ARM64-based Systems 
  • Windows 10 Version 1909 for x64-based Systems 
  • Windows 10 Version 1909 for 32-bit Systems
  • Windows Server 2019 (Server Core installation) 
  • Windows Server 2019
  • Windows 10 Version 1809 for ARM64-based Systems
  • Windows 10 Version 1809 for x64-based Systems
  • Windows 10 Version 1809 for 32-bit Systems

Dans l’attente d’un correctif, il est vivement recommandé d’arrêter ou de désactiver le service Windows Print Spooler sur toutes les machines où il n'est pas nécessaire, en particulier sur les contrôleurs de domaine ou tout autre dispositif ayant un rôle privilégié au sein de l'Active Directory :

Sur l'interface graphique de Windows :

  • Aller dans Services, désactiver le service "Spooler" (ou "Print Spooler").

ou

Sur PowerShell : 

  • Stop-Service -Nom Spooler -Force
  • Set-Service -Name Spooler -StartupType Disabled (Définir le service -Nom Spooler -Type de démarrage désactivé)

Une fois le service désactivé, il est nécessaire d’arrêter manuellement le service ou bien de redémarrer la machine.

Il est également possible de désactiver l'impression entrante à distance via la stratégie de groupe, comme suit :

  • Configuration des ordinateurs / Modèles d'administration / Imprimantes ;
  • Désactivez la stratégie "Autoriser le spouleur d'impression à accepter les connexions du client :" pour bloquer les attaques à distance.

Cette politique bloquera le vecteur d'attaque à distance en empêchant les opérations d'impression à distance. Le système ne fonctionnera plus comme un serveur d'impression, mais l'impression locale sur un périphérique directement connecté sera toujours possible.

Dans l'attente de l'application de ces modifications, appliquer une politique de filtrage réseau : les connexions entrantes sur les ports 445 et 139 (ports SMB) ainsi que les connexions à destination du processus spoolsv.exe doivent être interdites.

Il est également recommandé de surveiller le processus "spoolsv.exe" sur les machines où le service "Spooler" ne peut être désactivé. Cette catégorie d'évènement se trouve dans l'évènement 4688 dans les journaux de sécurité Windows ou via l'évènement 1 dans l'outil (Sysmon) System Monitor.

Un programme permettant de désactiver le service "Print Spooler" sur un ensemble de machines est disponible en référence de ce bulletin. Il s'agit d'un programme tiers, il convient donc de vérifier son bon fonctionnement avant de l'appliquer sur des éléments de production.

Une fois disponible, appliquer le correctif de sécurité Microsoft correspondant à cette vulnérabilité dès que possible.