Risque(s)
- Exécution de code arbitraire à distance
Systèmes affectés
Les versions de Windows hébergeant le serveur DNS Microsoft suivantes sont affectées :
- Windows server 2008, 2008 R2
- Windows server 2012, 2012 R2
- Windows server 2016
- Windows server 2019
- Windows server, version 1909, 2004, 20H2
Résumé
Contexte
Sept vulnérabilités concernant le serveur DNS de Microsoft ont fait l’objet d’un correctif à l’occasion de la mise à jour mensuelle de mars 2021. Parmi ces vulnérabilités, deux permettent un déni de service alors que les cinq autres permettent une exécution de code arbitraire à distance. Ces vulnérabilités, identifiées par CVE-2021-26877, CVE-2021-26897, CVE-2021-26893, CVE-2021-26894 et CVE-2021-26895 sont considérées comme critiques.
Nature et impact des vulnérabilités
Toutes les vulnérabilités affectent le mécanisme de Dynamic Zone Update du serveur DNS de Microsoft.
Ce mécanisme existe en mode sécurisé (dans ce mode, les demandes de mise à jour d'enregistrement DNS doivent être authentifiées et autorisées pour être acceptées*) ou non-sécurisé (dans ce cas, le serveur DNS accepte toutes les demandes de mise à jour d'un enregistrement DNS).
Le mécanisme est configuré différemment suivant les installations :
- Lorsque la zone DNS est intégrée à Active Directory, le mode sécurisé est activé par défaut ;
- Lorsque la zone DNS n’est pas intégrée à Active Directory mais stockée localement sur le serveur DNS, le mécanisme Dynamic Zone Update n’est pas activé par défaut. S’il est activé, il ne sera disponible que dans le mode non-sécurisé (non recommandé).
Les impacts des vulnérabilités sont les suivants :
- Si le mode non-sécurisé est activé, l’attaquant peut anonymement forger une requête spécifiquement conçue pour exploiter ces vulnérabilités ;
- Si le mode sécurisé est activé, l’attaquant doit être préalablement authentifié dans le domaine Active Directory pour exploiter ces vulnérabilités.
Il est important de noter que le serveur DNS de Microsoft est exécuté avec le compte de service SYSTEM. L'exploitation d'une des vulnérabilités permet donc à l'attaquant d'exécuter du code arbitraire avec les droits et les privilèges du compte de service SYSTEM.
L’éditeur estime que l’exploitation prochaine des vulnérabilités CVE-2021-26877 et CVE-2021-26897 est à anticiper. Par défaut, les serveurs DNS sont installés sur les Contrôleurs de Domaine Active Directory. Cette caractéristique rend les vulnérabilités particulièrement critiques puisque leur exploitation permettrait à un attaquant de prendre le contrôle du domaine Active Directory.
(*) Via le mécanisme GSS-TSIG qui s’appuie sur Kerberos pour authentifier les émetteurs des requêtes
Solution
L’ANSSI recommande d’appliquer les correctifs dès que possible (cf. section Documentation) et de suivre les recommandations de l’éditeur afin de limiter la fenêtre d’exposition des produits vulnérables.
Par ailleurs, l’ANSSI recommande fortement :
- De ne pas exposer sur Internet de service DNS Microsoft s'exécutant sur un contrôle de domaine ou un serveur membre d'un domaine ;
- De ne pas autoriser les mises à jour dynamiques de zone DNS (sécurisées ou non) en cas d'exposition d'un service DNS Microsoft sur Internet ;
- De ne pas autoriser les mises à jour non sécurisées en cas d'utilisation d'un service DNS Microsoft dans le cadre d'une infrastructure Active Directory.
Pour rappel, il est possible de contrôler le paramétrage d’une zone DNS avec la commande :
Dnscmd nom_du_serveur /ZoneInfo zone_DNS_a_verifier AllowUpdate
Le résultat est l’un des 3 suivants :
- 0 : la zone est statique
- 1 : la zone DNS peut être mise à jour de façon non sécurisée (non recommandé)
- 2 : la zone DNS peut être mise à jour de façon sécurisée (à risque pour les équipements vulnérables)
Cette information peut être également vérifiée en consultant la valeur DSPROPERTY_ZONE_ALLOW_UPDATE présente dans les attributs dnsProperty de chaque zone DNS configurée [1].
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 recommander 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.
Documentation