Glibc 2.34 arrive avec des correctifs de vulnérabilité, de nouvelles fonctions pour Linux et plus

Récemment la sortie de la nouvelle version de Glibc 2.34 a été annoncée qui vient après six mois de développement et dans lequel plusieurs changements assez importants ont été apportés, parmi lesquels l'inclusion des bibliothèques libpthread, libdl, libutil et libanl, ainsi que diverses corrections de bogues dont l'une causait des blocages.

Pour ceux qui ne connaissent pas Glibc, ils devraient savoir ce que c'est une bibliothèque GNU C, communément appelée glibc est la bibliothèque d'exécution standard de GNU C. Sur les systèmes où elle est utilisée, cette bibliothèque C qui fournit et définit les appels système et autres fonctions de base, il est utilisé par presque tous les programmes. 

Principales nouveautés de la Glibc 2.34

Dans cette nouvelle version de Glibc 2.34 qui est présentée libpthread, libdl, libutil et libanl ont été intégrés dans la bibliothèque principale, l'utilisation de ses fonctionnalités dans les applications ne nécessite plus de les lier avec les indicateurs -lpthread, -ldl, -lutil et -lanl.

En outre, il est mentionné que des préparatifs ont été faits pour intégrer libreolv dans la libc, avec laquelle l'intégration permettra un processus de mise à jour de la glibc plus fluide et cela simplifiera l'implémentation du runtime et des bibliothèques de stub ont également été fournies pour la compatibilité avec les applications construites avec les versions antérieures de la glibc.

De la part des changements axés sur Linux La Glibc 2.34 met en évidence le ajout de la possibilité d'utiliser le type time_t 64 bits dans les configurations qui utilisait traditionnellement le type time_t Bits 32. Cette fonctionnalité n'est disponible que sur les systèmes avec le noyau 5.1 et supérieur.

Un autre changement spécifique pour Linux est le implémentation de la fonction execveat, qui permet d'exécuter un fichier exécutable à partir d'un descripteur de fichier ouvert. La nouvelle fonction est également utilisée dans la mise en œuvre de l'appel fexecve, qui ne nécessite pas que le pseudo-système de fichiers / proc soit monté au démarrage.

La fonction a également été ajoutée close_range () qui est disponible pour les versions Linux 5.9 et supérieur et qui peut être utilisé pour permettre à un processus de fermer une gamme complète de descripteurs de fichiers ouvert en même temps, en plus le paramètre glibc.pthread.stack_cache_size est implémenté, qui peut être utilisé pour ajuster la taille du cache de pile pthread.

En outre, ajout de la fonction _Fork, un remplacement pour la fonction fourche qui répond aux exigences de "async-signal-safe", c'est-à-dire qu'il peut être appelé en toute sécurité à partir des gestionnaires de signaux. Pendant l'exécution de _Fork, un environnement minimal est formé, suffisant pour appeler des fonctions dans les gestionnaires de signaux comme raise et execve, sans invoquer de fonctionnalités qui peuvent changer les verrous ou l'état interne.

Pour la partie des vulnérabilités corrigées dans la Glibc 2.34, sont mentionnées :

CVE-2021-27645 : Le processus nscd (démon de mise en cache du serveur de noms) a échoué en raison d'un double appel à la fonction free lors du traitement de requêtes de groupe de réseau spécialement conçues.

CVE-2021-33574 : accès à une zone mémoire déjà libérée (use-after-free) dans la fonction mq_notify lors de l'utilisation du type de notification SIGEV_THREAD avec un attribut de thread pour lequel un masque de liaison CPU alternatif est défini. Le problème peut provoquer un plantage, mais d'autres options d'attaque ne sont pas exclues.

CVE-2021-35942 : Le dépassement de la taille des paramètres dans la fonction wordexp pouvait faire planter l'application.

Des autres changements qui se démarquent:

  • La fonction timespec_getres, définie dans le projet de norme ISO C2X, a été ajoutée et la fonction timespec_get a été augmentée avec des capacités similaires à la fonction POSIX clock_getres.
  • Dans le fichier gconv-modules, il ne restait qu'un ensemble minimal de modules gconv principaux, et le reste a été déplacé vers un fichier gconv-modules-extra.conf supplémentaire situé dans le répertoire gconv-modules.d.
  • L'utilisation de liens symboliques pour lier des objets partagés installables à la version Glibc a été supprimée. Ces objets sont maintenant installés tels quels (par exemple, libc.so.6 est maintenant un fichier plutôt qu'un lien vers libc-2.34.so).
  • Sous Linux, des fonctions comme shm_open et sem_open nécessitent désormais un système de fichiers pour la mémoire partagée montée sur le point de montage /dev/shm.

Enfin si vous souhaitez en savoir plus de cette nouvelle version, vous pouvez vérifier détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.