Glibc 2.34 kommt mit Schwachstellenkorrekturen, neuen Funktionen für Linux und mehr

Vor kurzem die Veröffentlichung der neuen Version von Glibc 2.34 wurde angekündigt die nach sechs Monaten Entwicklungszeit kommt und in der mehrere ziemlich wichtige Änderungen vorgenommen wurden, darunter die Aufnahme der Bibliotheken libpthread, libdl, libutil und libanl sowie verschiedene Fehlerbehebungen, von denen eine zu Blockierungen führte.

Für diejenigen, die mit Glibc nicht vertraut sind, sollten sie wissen, was es ist eine GNU-C-Bibliothek, allgemein bekannt als glibc ist die Standard-Laufzeitbibliothek von GNU C. Auf Systemen, auf denen sie verwendet wird, ist diese C-Bibliothek, die Systemaufrufe und andere grundlegende Funktionen bereitstellt und definiert, wird es von fast allen Programmen verwendet. 

Wichtigste neue Funktionen von Glibc 2.34

In dieser neuen Version von Glibc 2.34, die vorgestellt wird libpthread, libdl, libutil und libanl wurden in die Hauptbibliothek integriert, erfordert die Verwendung seiner Funktionalität in Anwendungen keine Bindung mehr an die Flags -lpthread, -ldl, -lutil und -lanl.

Weiterhin wird erwähnt, dass es wurden Vorbereitungen getroffen, libreolv in libc zu integrieren, mit der die Integration ermöglicht einen reibungsloseren Glibc-Aktualisierungsprozess und es wird die Laufzeitimplementierung vereinfachen und Stub-Bibliotheken wurden ebenfalls bereitgestellt, um die Kompatibilität mit Anwendungen zu gewährleisten, die mit früheren Versionen von glibc erstellt wurden.

Seitens der auf Linux fokussierten Änderungen Glibc 2.34 hebt die Möglichkeit hinzugefügt, den 64-Bit-Time_t-Typ in Konfigurationen zu verwenden die traditionell den time_t-Typ verwendet 32-Bits. Diese Funktion ist nur auf Systemen mit Kernel 5.1 und höher verfügbar.

Eine weitere spezifische Änderung für Linux ist die Implementierung der execveat-FunktionDass ermöglicht das Ausführen einer ausführbaren Datei von einem geöffneten Dateideskriptor. Die neue Funktion wird auch in der Implementierung des fexecve-Aufrufs verwendet, der nicht erfordert, dass das Pseudo-Dateisystem /proc beim Start gemountet wird.

Die Funktion wurde auch hinzugefügt close_range (), die für Linux-Versionen 5.9 verfügbar ist und höher und was kann sein Wird verwendet, um einem Prozess zu ermöglichen, einen vollständigen Bereich von Dateideskriptoren zu schließen gleichzeitig geöffnet wird, ist zusätzlich der Parameter glibc.pthread.stack_cache_size implementiert, mit dem die Größe des Pthread-Stack-Cache angepasst werden kann.

Außerdem _Gabelfunktion hinzugefügt, ein Ersatz für die Funktion Gabel welches die Anforderungen von "async-signal-safe" erfüllt, d.h. es kann sicher von Signalhandlern aufgerufen werden. Während der _Fork-Ausführung wird eine minimale Umgebung gebildet, die ausreicht, um Funktionen in Signalhandlern wie raise und execve aufzurufen, ohne Funktionen aufzurufen, die Sperren oder den internen Zustand ändern können.

Für den Teil der in Glibc 2.34 behobenen Schwachstellen wird Folgendes erwähnt:

CVE-2021-27645: Der nscd-Prozess (Nameserver-Caching-Daemon) ist aufgrund eines doppelten Aufrufs der freien Funktion bei der Verarbeitung speziell gestalteter Netzwerkgruppenanforderungen fehlgeschlagen.

CVE-2021-33574: Zugriff auf einen bereits freigegebenen Speicherbereich (use-after-free) in der Funktion mq_notify bei Verwendung des Benachrichtigungstyps SIGEV_THREAD mit einem Thread-Attribut, für das eine alternative CPU-Bindungsmaske gesetzt ist. Das Problem kann einen Absturz verursachen, aber andere Angriffsmöglichkeiten sind nicht ausgeschlossen.

CVE-2021-35942: Überlauf der Parametergröße in der Wordexp-Funktion kann die Anwendung zum Absturz bringen.

Von den anderen Änderungen das fällt auf:

  • Die Funktion timespec_getres, die im Entwurf des ISO-C2X-Standards definiert ist, wurde hinzugefügt und die Funktion timespec_get wurde um ähnliche Fähigkeiten wie die POSIX-Funktion clock_getres erweitert.
  • In der Datei gconv-modules blieb nur ein minimaler Satz von gconv-Hauptmodulen übrig, und der Rest wurde in eine zusätzliche Datei gconv-modules-extra.conf im Verzeichnis gconv-modules.d verschoben.
  • Die Verwendung von symbolischen Links, um installierbare Shared Objects mit der Glibc-Version zu verknüpfen, wurde entfernt. Diese Objekte werden jetzt unverändert installiert (zB ist libc.so.6 jetzt eine Datei und kein Link zu libc-2.34.so).
  • Unter Linux erfordern Funktionen wie shm_open und sem_open jetzt ein Dateisystem für den Shared Memory, der am Mountpunkt /dev/shm eingehängt ist.

Schließlich wenn Sie mehr darüber wissen möchten Von dieser neuen Version können Sie die überprüfen Details im folgenden Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.