Se prémunir contre la vulnérabilité de la glibc : Un guide de sécurité
La bibliothèque GNU C, également appelée glibc, est un composant fondamental des systèmes d'exploitation basés sur Linux. Elle offre des fonctions essentielles dont les programmes ont besoin pour fonctionner correctement sur votre système. La bibliothèque glibc existe depuis 1992 et est maintenue par le projet GNU. Une vulnérabilité glibc est une faille ou une faiblesse dans cette bibliothèque qui peut être exploitée par des acteurs malveillants pour compromettre la sécurité de votre système. Ces failles peuvent se présenter sous la forme de débordements de mémoire tampon, de corruptions de mémoire, d'utilisations après coup et d'autres problèmes logiciels.
Les attaquants peuvent rapidement exploiter ces faiblesses, il est donc essentiel de comprendre et de protéger vos systèmes. Lorsqu'une vulnérabilité est exploitée avec succès, les attaquants ont la possibilité d'exécuter des programmes malveillants, de voler des données sensibles et d'obtenir un accès non autorisé à votre système.
Dans ce billet de blog, nous examinerons les failles de sécurité critiques découvertes dans la glibc et fournirons les meilleures pratiques et outils pour atténuer les risques potentiels.
Exemples de vulnérabilités critiques de la glibc
Dans la glibc jusqu'à la version 2.34, la fonction de compatibilité obsolète svcunix_create du module sunrpc copiait son argument path sur la pile sans en valider la longueur. Il en résulte une vulnérabilité de type débordement de tampon, pouvant conduire à un déni de service ou à une exécution de code arbitraire (si le protecteur de pile n'est pas activé).
Dans la glibc jusqu'à la version 2.34, la fonction de compatibilité obsolète clnt_create du module sunrpc copiait son argument hostname sur la pile sans effectuer une validation de longueur suffisante. Il en résulte une vulnérabilité de type débordement de tampon, pouvant conduire à un déni de service ou à une exécution de code arbitraire (si le protecteur de pile n'est pas activé).
La fonction sprintf de la glibc 2.37 présente une vulnérabilité de débordement de tampon dans certaines situations où la taille du tampon est correcte. Ce problème n'est pas lié à la CWE-676. Le problème survient lorsque l'on tente d'écrire une représentation d'un nombre sous forme de chaîne de caractères séparée par des milliers dans un tampon alloué précisément pour accueillir la représentation sous forme de chaîne de caractères de ce nombre. Par exemple, dans des cas comme le remplissage de "1 234 567" à une longueur de 13 caractères, le débordement se produit, dépassant les limites de la mémoire tampon de deux octets.
Dans la bibliothèque GNU C (glibc) jusqu'à la version 2.33, il existe une vulnérabilité dans la fonction wordexp. Lorsqu'elle est invoquée avec un motif malveillant provenant d'une source non fiable, cette fonction peut entraîner un plantage du système ou un accès mémoire non autorisé dans la fonction parse_param située dans posix/wordexp.c. Par conséquent, cette faille peut entraîner un déni de service ou la divulgation non autorisée d'informations sensibles.
La fonction mq_notify des versions 2.32 et 2.33 de la glibc a été identifiée comme présentant une vulnérabilité de type "use-after-free". Cette vulnérabilité survient lorsque la fonction continue d'utiliser l'objet d'attributs de thread de notification, qui est fourni par son paramètre struct sigevent, même après que l'appelant l'ait libéré. Elle peut potentiellement entraîner un déni de service, provoquant le plantage de l'application, ou potentiellement conduire à d'autres impacts négatifs non spécifiés.
Meilleures pratiques pour les administrateurs Linux contre la vulnérabilité de la glibc
Mises à jour régulières
La meilleure défense contre les vulnérabilités de la glibc est de maintenir votre système à jour. Les distributions Linux publient fréquemment des mises à jour de sécurité et des correctifs pour corriger les vulnérabilités connues ; installez donc ces mises à jour dès que possible.
Contrôle continu
Surveillez vos systèmes à la recherche d'activités suspectes et vérifiez l'activité des utilisateurs pour obtenir des journaux et des enregistrements des actions effectuées sur vos systèmes et réseaux informatiques. Il s'agit d'activités telles que les connexions, les accès aux fichiers, les modifications de la configuration du système, les connexions au réseau, etc.
Utiliser des outils de sécurité
Effectuez des analyses régulières pour détecter les bibliothèques partagées obsolètes et les vulnérabilités afin d'identifier les faiblesses potentielles et d'y remédier. TuxCare fournit un outil gratuit appelé uChecker pour détecter les bibliothèques vulnérables utilisées par diverses applications.
Visitez la page GitHub de page GitHub uChecker pour apprendre à rechercher des bibliothèques obsolètes à l'aide de uChecker.
Gestion des correctifs
Une stratégie efficace de gestion des correctifs est essentielle pour garantir une sécurité solide grâce à des correctifs apportés en temps voulu. Le fait de retarder l'application de correctifs critiques peut exposer votre système à un risque élevé, ce qui peut conduire à l'exploitation de vulnérabilités.
C'est pourquoi il convient d'utiliser des outils de correction automatisés tels que LibCare qui automatisent la correction des vulnérabilités afin que vous receviez toujours les correctifs dans les délais prévus. En outre, LibCare propose des correctifs en direct, ce qui vous permet de déployer des correctifs de sécurité sans redémarrage du serveur ni temps d'arrêt.
TuxCare for Enterprise Live Patching Services (en anglais)
LibCare est un outil complémentaire pour KernelCare Enterprisequi fournit des services de correctifs en direct pour la plupart des distributions Linux majeures, y compris Ubuntu, Debian, RHEL, CentOS, AlmaLinux, Oracle Linux, Cloud Linux, et et bien d'autres encore.
Avec KernelCare et LibCare vous pouvez assurer une protection maximale de vos systèmes Linux, y compris les bibliothèques partagées, telles que glibc et OpenSSLqui sont sujettes à des attaques.
Il est facile de commencer à utiliser LibCare. Il suffit d'ajouter LibCare à votre abonnement actuel à KernelCare Enterprise pour commencer à patcher vos bibliothèques partagées.
Le grand nombre de serveurs qui reposent sur des systèmes d'exploitation basés sur Linux fait de la vulnérabilité de la glibc un problème sérieux. Ne faites plus de compromis sur la sécurité de la glibc et ne perturbez plus vos opérations. Avec LibCare de TuxCare, améliorez la posture de sécurité de votre entreprise et profitez de la tranquillité d'esprit que procure le patching automatisé et non perturbateur des bibliothèques.
Pour en savoir plus sur la façon dont LibCare peut révolutionner la stratégie de sécurité de votre entreprise, contactez avec nos experts.