Vulnérabilités dans FreeBSD, IPnet et Nucleus NET liées à des erreurs dans l'implémentation de la compression DNS

Les groupes de recherche Forescout Research Labs et JSOF Research ont publié les résultats d'une étude conjointe sur la sécurité de diverses implémentations du schéma de compression utilisé pour regrouper les noms en double dans les messages DNS, mDNS, DHCP et IPv6 RA (regroupant les parties de domaine en double dans les messages qui incluent plusieurs noms). Au cours des travaux, 9 vulnérabilités ont été identifiées, qui sont résumées sous le nom de code NAME:WRECK.

Des problèmes ont été identifiés dans FreeBSD, ainsi que dans les sous-systèmes de réseau IPnet, Nucleus NET et NetX, qui se sont répandus dans les systèmes d'exploitation en temps réel VxWorks, Nucleus et ThreadX utilisés dans les dispositifs d'automatisation, le stockage, les dispositifs médicaux, l'avionique et les imprimantes. et l'électronique grand public. On estime qu'au moins 100 millions d'appareils sont affectés par ces vulnérabilités.

  • Une vulnérabilité dans FreeBSD (CVE-2020-7461) permettait d'organiser l'exécution de son code en envoyant un paquet DHCP spécialement conçu à des attaquants situés sur le même réseau local que la victime, dont le traitement par un client DHCP vulnérable conduisait à un débordement de tampon. Le problème a été atténué par le fait que le processus dhclient dans lequel la vulnérabilité était présente s'exécutait avec des privilèges de réinitialisation dans un bac à sable Capsicum, ce qui nécessitait d'identifier une autre vulnérabilité pour quitter.

    L'essence de l'erreur réside dans une vérification incorrecte des paramètres, dans le paquet renvoyé par le serveur DHCP avec l'option DHCP 119, qui permet de transférer la liste « recherche de domaine » vers le résolveur. Un calcul incorrect de la taille de la mémoire tampon requise pour accueillir les noms de domaine décompressés a conduit à l'écriture d'informations contrôlées par l'attaquant au-delà de la mémoire tampon allouée. Sous FreeBSD, le problème a été résolu en septembre de l'année dernière. Le problème ne peut être exploité que si vous avez accès au réseau local.

  • Une vulnérabilité dans la pile réseau IPnet intégrée utilisée dans RTOS VxWorks permet l'exécution potentielle de code côté client DNS en raison d'une mauvaise gestion de la compression des messages DNS. Il s'est avéré que cette vulnérabilité a été identifiée pour la première fois par Exodus en 2016, mais n'a jamais été corrigée. Une nouvelle demande adressée à Wind River est également restée sans réponse et les appareils IPnet restent vulnérables.
  • Six vulnérabilités ont été identifiées dans la pile TCP/IP Nucleus NET, supportée par Siemens, dont deux pourraient conduire à l'exécution de code à distance et quatre pourraient conduire à un déni de service. Le premier problème dangereux est lié à une erreur lors de la décompression des messages DNS compressés, et le second est lié à une analyse incorrecte des étiquettes de nom de domaine. Les deux problèmes entraînent un débordement de tampon lors du traitement de réponses DNS spécialement formatées.

    Pour exploiter les vulnérabilités, un attaquant n'a besoin que d'envoyer une réponse spécialement conçue à toute demande légitime envoyée depuis un appareil vulnérable, par exemple en menant une attaque MTIM et en interférant avec le trafic entre le serveur DNS et la victime. Si l'attaquant a accès au réseau local, il peut alors lancer un serveur DNS qui tente d'attaquer les appareils problématiques en envoyant des requêtes mDNS en mode diffusion.

  • La vulnérabilité de la pile réseau NetX (Azure RTOS NetX), développée pour ThreadX RTOS et ouverte en 2019 après avoir été rachetée par Microsoft, se limitait à un déni de service. Le problème est dû à une erreur lors de l'analyse des messages DNS compressés dans l'implémentation du résolveur.

Parmi les piles réseau testées dans lesquelles aucune vulnérabilité liée à la compression des données répétées dans les messages DNS n'a été trouvée, les projets suivants ont été nommés : lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP. , OpenThread et FNET. De plus, les deux premiers (Nut/Net et lwIP) ne prennent pas du tout en charge la compression des messages DNS, tandis que les autres implémentent cette opération sans erreur. De plus, il convient de noter que les mêmes chercheurs avaient déjà identifié des vulnérabilités similaires dans les piles Treck, uIP et PicoTCP.

Source: opennet.ru

Ajouter un commentaire