L'équipe de sécurité de Google met en lumière sept failles de sécurité dans Dnsmasq,
le serveur léger pour fournir des services DNS pour un petit réseau
Dnsmasq est un serveur léger pour fournir les services DNS, DHCP, Bootstrap Protocol et TFTP pour un petit réseau, voire pour un poste de travail. Il permet d'offrir un service de nommage des machines du réseau interne non intégrées au service de nommage global (c.-à-d. le service DNS d'Internet). Le service de nommage est associé au service d'adressage de telle manière que les machines dont le bail DHCP est fourni par Dnsmasq peuvent avoir automatiquement un nom DNS sur le réseau interne. Le logiciel offre un service DHCP statique ou dynamique.
Plus d'un million d'instances Dnsmasq étant utilisées peuvent être trouvées sur le moteur de recherche Shodan.
L’équipe de sécurité de Google a déclaré y avoir repéré sept failles de sécurité.
Trois d’entre elles, notamment CVE-2017-14491, CVE-2017-14492 et CVE-2017-14493, sont des failles pouvant entraîner une exécution de code à distance provoquée par un dépassement de tas et un dépassement de tampon via des vecteurs DHCP et DNS.
Pour rappel, le dépassement de tampon est un bogue par lequel un processus, lors de l'écriture dans un tampon, écrit à l'extérieur de l'espace alloué au tampon, écrasant ainsi des informations nécessaires au processus. Lorsque le bogue se produit, le comportement de l'ordinateur devient imprévisible. Il en résulte souvent un blocage du programme, voire de tout le système.
Le dépassement de tas quant à lui est un bogue semblable à un dépassement de tampon, mais contrairement à ce dernier où le débordement s'effectue dans la pile d'exécution du programme, ici le dépassement se fait dans le tas (la mémoire allouée dynamiquement lors de l'exécution d'un programme).
Les chercheurs ont également souligné qu’une quatrième faille, répertoriée comme étant CVE-2017-14494, peut être exploitée pour contourner la fonction de protection de la mémoire de la mise en page de l'espace d'adresses (ASLR), ce qui entraîne des fuites d'informations.
En outre, les trois autres failles que sont CVE-2017-14495, CVE-2017-14496 et CVE-2017-13704 peuvent entraîner des attaques par déni de service (DoS) causées par des contrôles de limites non valides, une collision de bogues et un problème de codage .
Le PoC de ces vulnérabilités a été publié dans un dépôt GitHub.
Google a travaillé de concert avec le responsable du logiciel, Simon Kelley, à développer des correctifs afin d’atténuer, voire supprimer complètement, ces failles. Les correctifs sont désormais disponibles sur la page du projet Dnsmasq GitHub. Un autre correctif est également en cours de validation par l’équipe responsable : il permettrait au logiciel , tandis qu'un autre patch a également été soumis, ce qui permettra à Dnsmasq d'exécuter Seccomp permet de filtrer les appels système d'un processus au niveau du noyau. Ainsi, seuls les appels système requis d'un logiciel peuvent être exécutés, toute tentative d'aller plus loin étant bloquée. Plus intéressant encore : les filtres peuvent être enchaînés, d'autres programmes exécutés avec leur propre restriction
En gros, Seccomp est un framework pour réduire la surface d'attaque.
« Nous écrivons ceci pour divulguer les problèmes que nous avons trouvés et pour faire connaître les correctifs afin d’en accroître le nombre de téléchargements », a expliqué l'équipe.
Ceux qui utilisent la dernière version de Dnsmasq, version 2.78, ne sont pas affectés par ces vulnérabilités. Le correctif est également inclus dans la mise à jour de sécurité d'octobre pour Android.
Source : PoC GitHub, Shodan, dnsmasq page projet
Partager