Une vulnérabilité critique dans glibc affecte GNU/Linux

Il y a tout juste un an, la société Qualys – spécialisée dans la sécurité – découvrait une vulnérabilité dans la bibliothèque C de GNU/Linux (glibc). La faille « GHOST », sévère, a depuis été corrigée. Pourtant, c’est cette même bibliothèque glibc qui refait parler d’elle aujourd’hui.

Estampillée CVE-2015-7547, cette faille a été découverte de manière indépendante par des chercheurs de Google et de Red Hat. Présente depuis la version 2.9 qui date de mai 2008, elle autorise un dépassement de mémoire tampon et donc la possibilité d’exécuter du code arbitraire, lorsque la fonction getaddrinfo() est utilisée.

En pratique, glibc réserve 2048 octets sur la pile pour stocker la réponse à une interrogation DNS via la fonction _nss_dns_gethostbyname4_r(). Puis, si la réponse est plus grande que cette taille, un nouveau buffer est réservé sur le tas par les fonctions send_dg (UDP) ou send_vc (TCP) et toutes les informations (pointeur, nouvelle taille du tampon et taille de la réponse) sont mises à jour. Sous certaines conditions, il peut arriver que la pile soit au final utilisée pour stocker la réponse DNS, même si la taille de la réponse dépasse la taille du buffer et qu’un buffer sur le tas a été alloué. Ce comportement aboutit donc à un dépassement de tampon sur la pile.

Un patch est fort heureusement d’ores et déjà disponible. Il devrait rapidement être intégré à la branche de développement principale de glibc.

Posez une question dans la catégorie Les news : vos réactions du forum
Cette page n'accepte plus de commentaires
Soyez le premier à commenter
    Votre commentaire