Veröffentlichung der Systembibliothek Glibc 2.40

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

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster