Remote-Schwachstelle im Linux-Kernel, die bei der Verwendung des TIPC-Protokolls auftritt

Im Kernelmodul von Linux, das das Netzwerkprotokoll TIPC (Transparent Inter-process Communication) unterstützt, wurde eine Schwachstelle (CVE-2022-0435) entdeckt, die potenziell die Ausführung von eigentümerdefiniertem Code auf Kernel-Ebene durch das Senden eines speziell gestalteten Netzwerkpakets ermöglicht. Das Problem betrifft nur Systeme mit geladenem Kernelmodul tipc.ko und konfiguriertem TIPC-Stack, welches typischerweise in Clustern verwendet wird und standardmäßig in nicht spezialisierten Linux-Distributionen nicht aktiviert ist.

Es wird festgestellt, dass beim Kompilieren des Kernels im Modus "CONFIG_FORTIFY_SRC=y" (verwendet in RHEL), das zusätzliche Grenzprüfungen in die Funktion memcpy() einführt, die Ausnutzung auf einen Notfallzustand (Kernel fällt in einen Panic-Zustand) beschränkt ist. Bei Ausführung ohne zusätzliche Prüfungen und bei einem Leck von Informationen über die Canary-Werte, die zum Schutz des Stacks verwendet werden, kann das Problem für die entfernte Ausführung von Code mit Berechtigungen des Kernels missbraucht werden. Die Forscher, die das Problem entdeckt haben, geben an, dass die Ausnutzung trivial ist und nach einer umfassenden Behebung der Schwachstelle in den Distributionen offengelegt wird.

Die Schwachstelle wird durch einen Stacküberlauf verursacht, der bei der Verarbeitung von Paketen auftritt, wobei der Wert des Feldes mit der Anzahl der beteiligten Knoten der Domain unterscheiden, gesetzt werden.über 64 liegt. Zur Speicherung der Knoteneinstellungen im Modul tipc.ko wird ein fester Array "u32 members[64]" verwendet, aber bei der Verarbeitung der im Paket angegebenen Knotennummer wird die Überprüfung des Wertes "member_cnt" nicht durchgeführt, was die Verwendung von Werten über 64 ermöglicht, um kontrolliert Daten im Speicher zu überschreiben, die sich im Stack nach der Struktur "dom_bef" befinden.

Der zur Schwachstelle führende Fehler wurde am 15. Juni 2016 eingeführt und ist Teil des Linux-Kernels 4.8. Die Schwachstelle wurde in den Versionen des Linux-Kernels 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 und 4.9.301 behoben. In den Kernen der meisten Distributionen bleibt das Problem bisher ungelöst: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

Das TIPC-Protokoll wurde ursprünglich von Ericsson entwickelt und dient der Organisation der Interprozesskommunikation in Clustern, wobei es hauptsächlich an Knoten innerhalb von Clustern aktiv ist. TIPC kann sowohl über Ethernet als auch über UDP (Netzwerkport 6118) betrieben werden. Bei Betrieb über Ethernet kann ein Angriff aus dem lokalen Netzwerk erfolgen, während bei der Verwendung von UDP ein Angriff aus dem globalen Netzwerk möglich ist, wenn der Port nicht durch eine Firewall geschützt ist. Auch ein nicht privilegierter lokaler Benutzer des Hosts kann den Angriff durchführen. Um TIPC zu aktivieren, ist das Laden des Kernelmoduls tipc.ko und die Konfiguration der Bindung an die Netzwerkschnittstelle mithilfe von netlink oder des Tools tipc erforderlich.

Quelle: opennet.ru

60GB SSD 8Gb DDR4