Veröffentlichung der Systembibliothek Glibc 2.40

Nach sechs Monaten Entwicklung wurde die Version 2.40 der GNU C Library (glibc) 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 in Glibc 2.40 gehören:

  • Die Header-Datei math.h wurde um neue exponentielle und logarithmische Funktionen erweitert, die im C23-Standard definiert sind: exp2m1, exp10m1, log2p1, log10p1 und logp1. Diese Funktionen sind in Varianten fĂŒr die Typen float, double, long double, _FloatN und _FloatNx verfĂŒgbar.
  • Ein neuer Makro _ISOC23_SOURCE wurde hinzugefĂŒgt, der die Nutzung der im Standard C23 angebotenen Funktionen definiert (derzeit sind in Glibc nur Teile der C23-Funktionen implementiert). Die Aktivierung von C23 kann auch durch Angabe der Optionen -std=c23, -std=gnu23, -std=c2x oder -std=gnu2x beim Kompilieren mit GCC erfolgen.
  • Die Einstellung «glibc.rtld.enable_secure» wurde hinzugefĂŒgt, die es ermöglicht, ein Programm wĂ€hrend der Tests so auszufĂŒhren, als ob es das Setuid-Flag hĂ€tte.
  • Auf 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 hinzugekommen sind.
  • Die FunktionalitĂ€t zur Erkennung möglicher PufferĂŒberlĂ€ufe und sicherheitsrelevanter Fehler wĂ€hrend der AusfĂŒhrung von Funktionen zum Arbeiten mit Zeichenfolgen und zur Speicherverwaltung («_FORTIFY_SOURCE») wurde fĂŒr die Kompilierung von Glibc mit dem Clang-Compiler angepasst.
  • In der Bibliothek fĂŒr vektorielle mathematische Funktionen (libmvec) wurden Implementierungen der Funktionen acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh und tanh fĂŒr die Architektur Aarch64 angeboten.
  • Auf x86-Systemen wurde die Möglichkeit hinzugefĂŒgt, temporĂ€re Puffer in der memset-Funktion zur Beschleunigung des Schreibens großer DatensĂ€tze deaktivieren. Diese Optimierung kann mithilfe der Einstellung «x86_memset_non_temporal_threshold» aktiviert werden.
  • Makros in der Header-Datei stdbit.h, die mit verschiedenen Typen (type-generic) arbeiten, wurden bei Verwendung von GCC 14 auf die Nutzung der eingebauten Funktionen __builtin_stdc_bit_ceil umgestellt, um Operanden mit den Typen __int128 und _BitInt(N) zu unterstĂŒtzen.
  • Felder mit epochal 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 bis 2106 zu verlĂ€ngern.
  • Behobene SicherheitsanfĂ€lligkeiten:
    • CVE-2024-2961 — BufferĂŒberlauf bei der Umwandlung speziell formatierter Zeichenfolgen in der ISO-2022-CN-EXT-Kodierung durch die Funktion iconv(). In der Praxis kann diese Schwachstelle fĂŒr einen Remote-Angriff auf PHP-Anwendungen ausgenutzt werden, der zur CodeausfĂŒhrung fĂŒhrt.
    • CVE-2024-33599 — BufferĂŒberlauf im Code fĂŒr die Verarbeitung des netgroup-Caches im nscd (Name Service Cache Daemon). Die Schwachstelle kann durch das Senden einer speziell formatierten 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 — Ein Fehler bei der Arbeit mit dem netgroup-Cache kann zu einem Absturz des nscd-Prozesses aufgrund eines Speicherzuweisungsfehlers fĂŒhren.
    • CVE-2024-33602 — SpeicherbeschĂ€digung bei der Arbeit mit dem netgroup-Cache im nscd-Prozess.

    Quelle: opennet.ru

60GB SSD 8Gb DDR4