
et rend les machines sous Linux vulnérables à l'exécution d'un code à distance
L'année dernière, des chercheurs en sécurité de Qualys ont parlé d'une faille dans glibc, la bibliothèque C de base de toutes les distributions Linux. Baptisée Ghost, la faille permettait à un pirate distant de prendre le contrôle complet d’un système affecté, sans avoir la moindre connaissance préalable concernant les références du système. Pour rappel, la faille se situe au niveau des fonctions gethostbyname et gethostbyaddr, qui sont appelées par les distributions Linux lorsqu’elles doivent gérer des connexions réseau. Un pirate pouvait alors déclencher un dépassement de mémoire tampon (buffer overflow) dans ces fonctions, en utilisant, par exemple, un argument de nom d’hôte non valide lorsqu’une application effectue une résolution de DNS.
C'est encore cette même bibliothèque glibc qui est au cœur d'une vulnérabilité découverte indépendamment par des chercheurs de Google et de Red Hat.
Google a expliqué que la faille CVE-2015-7547, qui est un dépassement de mémoire tampon (buffer overflow) dans la pile glibc du resolver DNS côté client rendant les machines sous Linux vulnérables à l'exécution d'un code à distance, est déclenchée lorsque la fonction getaddrinfo() est utilisée.
« Les dépassements d'octets sont entièrement sous le contrôle de l'attaquant et sont le résultat d'une réponse DNS », a indiqué dans un autre billet Carlos O'Donnell de Red Hat. Il a avancé par la suite qu'une analyse a « démontré qu'il est possible d'écrire des réponses DNS correctes avec des charges utiles qui vont pénétrer la hiérarchie de cache DNS et donc permettre aux attaquants d'exploiter des machines derrière de tels caches ».
« Les tests effectués en local montrent que nous avons été en mesure de contrôler au moins l'exécution d'un appel free() avec un dépassement de tampon et pris le contrôle de l'EIP. D'autres exploitations n'ont pas été testées, mais cette seule tentative suffisait pour montrer qu'il est très probable que le contrôle de l'exécution puisse être acquis sans beaucoup plus d'effort », a précisé O'Donnel.
Le bogue a été signalé aux responsables de la bibliothèque glibc en juillet dernier, mais semble avoir été signalé dans la version 2.9 de glibc en mai 2008. Carlos O’Donnell (de Red Hat), Florian Weimer (de Red Hat) et Fermin J. Serna (de Google) ont travaillé sur un correctif de sécurité.
Serna pour sa part a confirmé que le problème affecte toutes les versions de glibc à partir de la version 2.9, mais qu'il y a des solutions qui peuvent être implémentées pour mitiger temporairement l'impact en attendant que les machines Linux reçoivent un correctif de sécurité.
« La vulnérabilité repose sur une réponse UDP et TCP surdimensionnée (plus de 2048 octets) qui est suivie par une autre réponse qui va écraser la pile », a expliqué Serna. « Aussi, pour en mitiger l'effet, nous suggérons de limiter la taille des réponses (par exemple en vous servant de DNSMasq ou de programmes similaires) acceptées par le resolver DNS localement. Assurez-vous également que les requêtes DNS ne sont envoyées qu'aux serveurs DNS, ce qui limitera la taille des réponses UDP ».
Google a expliqué que plusieurs vecteurs d'exploitations peuvent être utilisés pour utiliser cette vulnérabilité parmi lesquels ssh, sudo et curl.
Les experts encouragent les administrateurs à appliquer le correctif de sécurité immédiatement.

Source : Google, Red Hat
Voir aussi :



Vous avez lu gratuitement 10 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.