Vulnérabilités KeyTrap et NSEC3 affectant la plupart des implémentations DNSSEC

Deux vulnérabilités ont été identifiées dans diverses implémentations du protocole DNSSEC, affectant les résolveurs BIND, PowerDNS, dnsmasq, Knot Resolver et Unbound DNS. Ces vulnérabilités pourraient provoquer un déni de service pour les résolveurs DNS qui effectuent la validation DNSSEC en provoquant une charge CPU élevée qui interfère avec le traitement d'autres requêtes. Pour mener une attaque, il suffit d’envoyer une requête à un résolveur DNS utilisant DNSSEC, ce qui entraîne un appel à une zone DNS spécialement conçue sur le serveur de l’attaquant.

Problèmes identifiés :

  • CVE-2023-50387 (nom de code KeyTrap) – Lors de l'accès à des zones DNS spécialement conçues, cela entraîne un déni de service en raison de la charge CPU importante et du long temps d'exécution des contrôles DNSSEC. Pour mener une attaque, il faut placer une zone de domaine avec des paramètres malveillants sur un serveur DNS contrôlé par l'attaquant, et également s'assurer que cette zone est accessible par un serveur DNS récursif, dont l'attaquant recherche le déni de service. .

    Les paramètres malveillants impliquent l'utilisation d'une combinaison de clés en conflit, d'enregistrements RRSET et de signatures numériques pour une zone. Tenter de vérifier à l'aide de ces clés entraîne des opérations fastidieuses et gourmandes en ressources qui peuvent charger complètement le processeur et bloquer le traitement d'autres requêtes (par exemple, on prétend que lors d'une attaque contre BIND, il était possible d'arrêter le traitement de autres demandes pendant 16 heures).

  • CVE-2023-50868 (nom de code NSEC3) est un déni de service dû à des calculs importants effectués lors du calcul des hachages dans les enregistrements NSEC3 (Next Secure v3) lors du traitement de réponses DNSSEC spécialement conçues. La méthode d'attaque est similaire à la première vulnérabilité, sauf qu'un ensemble spécialement conçu d'enregistrements NSEC3 RRSET est créé sur le serveur DNS de l'attaquant.

Il est à noter que l'apparition des vulnérabilités mentionnées ci-dessus est due à la définition dans la spécification DNSSEC de la capacité du serveur DNS à envoyer toutes les clés cryptographiques disponibles, tandis que les résolveurs doivent traiter toutes les clés reçues jusqu'à ce que la vérification soit terminée avec succès ou jusqu'à ce que toutes les clés cryptographiques soient traitées. Les clés reçues ont été vérifiées.

Afin de bloquer les vulnérabilités des résolveurs, le nombre maximal de clés DNSSEC impliquées dans le processus de construction d'une chaîne de confiance et le nombre maximal de calculs de hachage pour NSEC3 sont limités, et les tentatives de vérification pour chaque RRSET (combinaison de clés et de signatures) et chaque réponse sont limitées. serveur.

Les vulnérabilités ont été corrigées dans les mises à jour d'Unbound (1.19.1), PowerDNS Recursor (4.8.6, 4.9.3, 5.0.2), Knot Resolver (5.7.1), dnsmasq (2.90) et BIND (9.16.48, 9.18.24 et 9.19.21). L'état des correctifs dans ces distributions est consultable sur les pages suivantes : Debian, Ubuntu, SUSE, RHEL, Fedora, Arch LinuxGentoo, Slackware, NetBSD, FreeBSD.

Les versions 9.16.48, 9.18.24 et 9.19.21 du serveur DNS BIND ont également corrigé plusieurs autres vulnérabilités :

  • CVE-2023-4408 L'analyse de messages DNS volumineux peut entraîner une charge élevée du processeur.
  • CVE-2023-5517 - Une demande de zone inversée spécialement conçue peut entraîner un crash en raison du déclenchement d'une vérification d'assertion. Le problème n'apparaît que dans les configurations avec le paramètre « nxdomain-redirect » activé.
  • CVE-2023-5679 – La détection récursive d'hôte peut entraîner un crash en raison du déclenchement d'une vérification d'assertion sur les systèmes prenant en charge DNS64 et « serv-stale » activé (paramètres, stale-cache-enable et stale-answer-enable).
  • CVE-2023-6516 Les requêtes récursives spécialement conçues peuvent entraîner l'épuisement de la mémoire disponible par le processus.

Source: opennet.ru

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster