Une vulnérabilité a été découverte dans le service Microsoft Domain Name System (DNS) Server. Cette vulnérabilité se situe dans le code qui analyse les réponses à des requêtes DNS. Elle peut être exploitée par un attaquant qui aurait le contrôle d’un serveur DNS ayant autorité sur un nom de domaine Internet. En construisant une réponse, dans un format particulier, à une requête légitime émise par un serveur Microsoft DNS Server, l’attaquant peut provoquer un dépassement de tampon (buffer overflow) au niveau du service Microsoft DNS Server.

L’exploitation de cette vulnérabilité peut résulter en une exécution de code arbitraire avec les privilèges SYSTEM.

Le service Microsoft DNS Server étant généralement activé sur les contrôleurs de domaines Active Directory, l’attaquant est alors capable de compromettre les contrôleurs de domaines Active Directory du système d’information.

Les correctifs de sécurité ont été publiés par Microsoft le 14/07/2020 et doivent être appliqués au plus vite.

Pour information, le 16 juillet, une première preuve de concept permettant de provoquer un déni de service a été publiée.

Systèmes affectés

  • Windows Server 2008 for 32-bit Systems Service Pack 2
  • Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
  • Windows Server 2008 for x64-based Systems Service Pack 2
  • Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)
  • Windows Server 2008 R2 for x64-based Systems Service Pack 1
  • Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
  • Windows Server 2012
  • Windows Server 2012 (Server Core installation)
  • Windows Server 2012 R2
  • Windows Server 2012 R2 (Server Core installation)
  • Windows Server 2016
  • Windows Server 2016 (Server Core installation)
  • Windows Server 2019
  • Windows Server 2019 (Server Core installation)
  • Windows Server, version 1903 (Server Core installation)
  • Windows Server, version 1909 (Server Core installation)
  • Windows Server, version 2004 (Server Core installation)

Contournement provisoire

Les correctifs ont été publiés par Microsoft le 14/07/2020 et doivent être appliqués au plus vite. Cependant, un contournement temporaire peut être appliqué.

L’attaque consiste à répondre à une requête avec une réponse dépassant la taille de 65535 octets. Au-delà de 4096 octets, les services DNS utilisent le protocole TCP pour échanger les messages.

Le contournement proposé par l’éditeur [1] consiste à limiter la taille des messages acceptés par le service. Cette modification consiste à ajouter une clé de registre et à redémarrer le service DNS :

reg add « HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters » /v « TcpReceivePacketSize » /t REG_DWORD /d 0xFF00 /f

net stop DNS && net start DNS

Cette opération doit être réalisée sur l’ensemble des machines portant le service Microsoft DNS Server.

Solution

Les correctifs ont été publiés par Microsoft le 14/07/2020 et doivent être appliqués au plus vite.

La mise à jour d’un produit ou d’un logiciel est une opération délicate qui doit être menée avec prudence. Il est notamment recommandé d’effectuer des tests autant que possible. Des dispositions doivent également être prises pour garantir la continuité de service en cas de difficultés lors de l’application des mises à jour comme des correctifs ou des changements de version.