Nach sechs Monaten Entwicklung wurde die Veröffentlichung der GNU C Library (glibc) 2.40 veröffentlicht, die vollstÀndig den Anforderungen der Standards ISO C11 und POSIX.1-2017 entspricht. Die neue Version enthÀlt Korrekturen von 68 Entwicklern.
Zu den Verbesserungen, die in Glibc 2.40 umgesetzt wurden, gehören:
- Dem Header-Datei math.h wurden neue exponentielle und logarithmische Funktionen hinzugefĂŒgt, die im C23-Standard definiert sind: exp2m1, exp10m1, log2p1, log10p1 und logp1. Die Funktionen sind fĂŒr die Typen float, double, long double, _FloatN und _FloatNx verfĂŒgbar.
- Es wurde das Makro _ISOC23_SOURCE hinzugefĂŒgt, das die Nutzung der im C23-Standard vorgeschlagenen Funktionen definiert (derzeit sind in Glibc nur einige Funktionen von C23 implementiert). Die Verwendung von C23 kann auch beim Kompilieren durch Angabe der Optionen -std=c23, -std=gnu23, -std=c2x oder -std=gnu2x in GCC aktiviert werden.
- Eine Einstellung «glibc.rtld.enable_secure» wurde hinzugefĂŒgt, die es ermöglicht, das Programm beim Testen so auszufĂŒhren, als ob es das Setuid-Flag hĂ€tte.
- In der Linux-Plattform wurde die Header-Datei epoll.h aktualisiert, um neue ioctl und epoll-Strukturen zu unterstĂŒtzen, die im Kernel Linux 6.9 eingefĂŒhrt wurden.
- Die FunktionalitĂ€t zur Erkennung potenzieller BufferĂŒberlĂ€ufe und sicherheitsrelevanter Fehler wĂ€hrend der AusfĂŒhrung von String-Handling- und Speicherverwaltungsfunktionen (â_FORTIFY_SOURCEâ) wurde fĂŒr die Glibc-Builds mit dem Clang-Compiler angepasst.
- In der Bibliothek fĂŒr vektorielle mathematische Funktionen (libmvec) werden Implementierungen der Funktionen acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh und tanh fĂŒr die Aarch64-Architektur angeboten.
- In x86-Systemen wurde die Möglichkeit hinzugefĂŒgt, temporĂ€re Puffer in der memset-Funktion zu deaktivieren, um das Schreiben groĂer Datenmengen zu beschleunigen. Diese Optimierung wird ĂŒber die Einstellung âx86_memset_non_temporal_thresholdâ aktiviert.
- Die in der Header-Datei stdbit.h definierten Makros, die mit verschiedenen Typen (type-generic) arbeiten, wurden bei der Verwendung von GCC 14 auf die eingebauten Funktionen __builtin_stdc_bit_ceil umgestellt, um Operanden mit den Typen __int128 und _BitInt(N) zu unterstĂŒtzen.
- Die Felder mit Zeitstempeln in den Strukturen lastlog, utmp und utmpx wurden von der Verwendung des 32-Bit signierten Typs auf einen unsigned Typ umgestellt, was es ermöglicht, die maximal adressierbare Zeit von 2038 bis 2106 zu verlÀngern.
- SicherheitsanfÀlligkeiten wurden behoben:
- CVE-2024-2961 â PufferĂŒberlauf bei der Umwandlung speziell formatierter Strings im ISO-2022-CN-EXT Encoding durch die Funktion iconv(). In der Praxis könnte diese SicherheitsanfĂ€lligkeit fĂŒr einen Remote-Angriff auf PHP-Anwendungen ausgenutzt werden, was zu einer AusfĂŒhrung von Code fĂŒhren könnte.
- CVE-2024-33599 â PufferĂŒberlauf im Code zur Verarbeitung des Caches fĂŒr Netgroups im nscd (Name Service Cache Daemon). Die SicherheitsanfĂ€lligkeit kann durch das Senden einer speziell gestalteten Anfrage durch den Client ausgenutzt werden.
- CVE-2024-33600 â Dereferenzierung eines Nullzeigers im nscd-Prozess, was zu einem Absturz bei der Verarbeitung bestimmter Anfragen fĂŒhren kann.
- CVE-2024-33601 â Fehler bei der Bearbeitung des Netgroup-Caches kann zum Absturz des nscd-Prozesses fĂŒhren, da der Speicher fehlschlĂ€gt.
- CVE-2024-33602 â SpeicherbeschĂ€digung bei der Verarbeitung des Netgroup-Caches im nscd-Prozess.
Quelle: opennet.ru
