Schwachstelle in Kernel-TIPC-Modulen der Linux-Distributionen entdeckt
Schwachstelle in Kernel-TIPC-Modulen der Linux-Distributionen entdeckt
SentinelLabs hat kürzlich einen ausführlichen Beitrag über eine Heap-Overflow-Schwachstelle veröffentlicht, die alle Linux-Distributionen mit dem Kernel-TIPC-Modul betrifft und als CVE-2021-43267 identifiziert wurde. Im Fokus stehen die Linux-Kernel-Versionen 5.10-rc1 und 5.15.
Transparent Inter Process Communication (TIPC) ist ein spezielles Modul, das für clusterweite Kommunikationsvorgänge wie Dienstadressierung, Dienstverfolgung, Gruppennachrichtenaustausch und mehr entwickelt wurde.
Forscher fanden diese Schwachstelle bei der Analyse des Linux-Kernel-Quellcodes mit dem Tool CodeQL. CodeQL ist ein semantisches Code-Analyse-Engine, das auch bei der Suche nach Fehlern helfen kann, da sie die Ausführung von Abfragen im Code ermöglicht. Mithilfe dieses Tools fanden Forscher die Heap-Overflow-Schwachstelle, die es einem Angreifer ermöglichen könnte, Privilegien auf Kernel-Ebene zu erlangen.
In diesem Beitrag wird der Fehler im TIPC-Modul näher erläutert:
„The Header Size and the Message Size are both validated against the actual packet size. So while these values are guaranteed to be within the range of the actual packet, there are no similar checks for either the keylen member of the MSG_CRYPTO message or the size of the key algorithm name itself (TIPC_AEAD_ALG_NAME) against the message size. This means that an attacker can create a packet with a small body size to allocate heap memory, and then use an arbitrary size in the keylen attribute to write outside the bounds of this location (https://www.sentinelone.com/labs/tipc-remote-linux-kernel-heap-overflow-allows-arbitrary-code-execution/).“
„Die Header-Größe und die Nachrichtengröße werden beide anhand der tatsächlichen Paketgröße überprüft. Während diese Werte also garantiert innerhalb des Bereichs des tatsächlichen Pakets liegen, existieren keine ähnlichen Überprüfungen für das keylen-Mitglied der SG_CRYPTO-Nachricht oder die Größe des Schlüsselalgorithmus-Namens selbst (TIPC_AEAD_ALG_NAME) anhand der Nachrichtengröße. Dies bedeutet, dass ein Angreifer ein Paket mit einer kleinen Körpergröße erstellen kann, um Heap-Speicher zuzuweisen und anschließend dann eine beliebige Größe im keylen-Attribut verwenden kann, um außerhalb der Grenzen dieses Pfades zu schreiben (Übersetzung des Verfassers).“
Diese Schwachstelle stellt ein ernstzunehmendes Sicherheitsrisiko für Linux-Systeme dar, da sie ein Angreifer sowohl lokal als auch aus der Ferne ausnutzen kann.
Nach der Entdeckung des Fehlers, der als CVE-2021-43267 identifiziert wurde, wandten sich die Forscher an Kernel.org und meldeten den Fehler. Wir können diese Schwachstelle in unserer Leitstelle mithilfe des EDR (Endpoint Detection and Response) Vulnerability-Scanners erkennen und entsprechend an unsere aufgeschalteten Kunden melden.
Unsere Handlungsempfehlung:
Die Entwickler haben den Fehler mit der Veröffentlichung der Kernel-Version 5.15 behoben. Es wird hiermit empfohlen, so schnell wie möglich auf diese Version zu aktualisieren.