Sortie de la bibliothèque système Glibc 2.40

Après six mois de développement, la version de la bibliothèque système GNU C Library (glibc) 2.40 est publiée, respectant pleinement les standards ISO C11 et POSIX.1-2017. La nouvelle version comprend des corrections de 68 développeurs.

Parmi les améliorations apportées dans Glibc 2.40, on peut noter :

  • Le fichier d'en-tête math.h a été mis à jour avec de nouvelles fonctions exponentielles et logarithmiques, définies dans la norme C23 : exp2m1, exp10m1, log2p1, log10p1 et logp1. Ces fonctions sont disponibles pour les types float, double, long double, _FloatN et _FloatNx.
  • Un macro _ISOC23_SOURCE a été ajouté, définissant l'utilisation des fonctionnalités proposées dans la norme C23 (actuellement, seule une partie des fonctionnalités de C23 est implémentée dans Glibc). L'utilisation de C23 peut également être activée lors de la compilation en spécifiant dans GCC les options -std=c23, -std=gnu23, -std=c2x ou -std=gnu2x.
  • Un paramètre «glibc.rtld.enable_secure» a été ajouté, permettant lors des tests de lancer le programme comme s'il disposait du drapeau de changement d'identifiant utilisateur (setuid).
  • Sur la plateforme Linux, le fichier d'en-tête epoll.h a été mis à jour pour supporter les nouvelles ioctl et structures epoll, apparues dans le noyau Linux 6.9.
  • La fonctionnalité de détection des possibles dépassements de tampon et des erreurs liées à la sécurité lors de l'exécution des fonctions de manipulation de chaînes et de gestion de la mémoire («_FORTIFY_SOURCE») a été adaptée pour la compilation de Glibc avec le compilateur Clang.
  • La bibliothèque avec les fonctions mathématiques vectorielles (libmvec) propose des implémentations des fonctions acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh et tanh pour l'architecture Aarch64.
  • Sur les systèmes x86, pour accélérer l'écriture de grands ensembles de données dans la fonction memset, il est possible de désactiver l'utilisation de tampons temporaires. Cette optimisation s'active via le paramètre «x86_memset_non_temporal_threshold».
  • Les macros dans le fichier d'en-tête stdbit.h, travaillant avec divers types (type-générique), sont passées à l'utilisation des fonctions intégrées __builtin_stdc_bit_ceil pour supporter les opérandes avec les types __int128 et _BitInt(N) avec GCC 14.
  • Les champs avec un compteur temporel épocal dans les structures lastlog, utmp et utmpx ont été convertis de l'utilisation d'un type entier signé 32 bits à un type entier non signé, ce qui permet d'étendre le temps maximum adressable par le compteur de 2038 à 2106.
  • Vulnérabilités corrigées :
    • CVE-2024-2961 — débordement de tampon lors de la conversion de chaînes spécialement formatées en encodage ISO-2022-CN-EXT par la fonction iconv(). Dans la pratique, cette vulnérabilité peut être exploitée pour une attaque à distance sur des applications PHP, entraînant l'exécution de code.
    • CVE-2024-33599 — débordement de tampon dans le code de gestion du cache netgroup dans le processus nscd (Démon de Cache de Service de Noms). La vulnérabilité peut être exploitée via l'envoi par le client d'une requête spécialement formatée.
    • CVE-2024-33600 — déréférencement d'un pointeur nul dans le processus nscd, qui peut entraîner un plantage lors du traitement de certaines requêtes.
    • CVE-2024-33601 — une erreur lors du traitement du cache netgroup peut entraîner le plantage du processus nscd en raison d'une défaillance d'allocation de mémoire.
    • CVE-2024-33602 — corruption de mémoire lors de la gestion du cache netgroup dans le processus nscd.

    Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster