Im Netfilter, dem Subsystem des Linux-Kernels, das zur Filterung und Modifikation von Netzwerkpaketen verwendet wird, wurde eine Schwachstelle (CVE-2022-25636) entdeckt, die es ermöglicht, Code im Kernel-Level auszufĂŒhren. Ein Beispiel fĂŒr einen Exploit wurde angekĂŒndigt, das einem lokalen Benutzer erlaubt, seine Berechtigungen in Ubuntu 21.10 ohne aktivierte KASLR-Schutzmechanismen zu erhöhen. Das Problem tritt ab Kernel 5.4 auf. Ein Fix ist bisher als Patch verfĂŒgbar (korrektive Kernelversionen wurden noch nicht veröffentlicht). Informationen ĂŒber die Veröffentlichungen von Paketaktualisierungen in den Distributionen können auf den folgenden Seiten verfolgt werden: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.
Die Schwachstelle wurde durch einen Fehler bei der Berechnung der Array-GröĂe flow->rule->action.entries in der Funktion nft_fwd_dup_netdev_offload (definiert in der Datei net/netfilter/nf_dup_netdev.c) verursacht, die dazu fĂŒhren kann, dass kontrollierte Daten des Angreifers in den Speicherbereich auĂerhalb des zugewiesenen Puffers geschrieben werden. Der Fehler tritt auf, wenn Regeln fĂŒr âdupâ und âfwdâ in Ketten konfiguriert werden, fĂŒr die Hardwarebeschleunigung der Paketverarbeitung (Offload) verwendet wird. Da das Ăberlaufproblem vor der Erstellung der Paketfilterregel und der ĂberprĂŒfung der UnterstĂŒtzung fĂŒr Offload auftritt, ist die Schwachstelle auch fĂŒr NetzwerkgerĂ€te anwendbar, die keine Hardwarebeschleunigung unterstĂŒtzen, wie z.B. die Loopback-Schnittstelle.
Es wird festgestellt, dass das Problem relativ einfach auszunutzen ist, da die Werte, die ĂŒber den Puffer hinausgehen, den Zeiger auf die Struktur net_device ĂŒberschreiben können, und die Informationen ĂŒber das ĂŒberschriebenen Wert an den Benutzerraum zurĂŒckgegeben werden, was es ermöglicht, die nötigen Adressen im Speicher fĂŒr die DurchfĂŒhrung eines Angriffs herauszufinden. Um die Schwachstelle auszunutzen, mĂŒssen bestimmte Regeln in nftables erstellt werden, was nur mit den Berechtigungen CAP_NET_ADMIN möglich ist, die von einem unprivilegierten Benutzer in einem separaten Netzwerknamensraum (network namespaces) erlangt werden können. Die Schwachstelle kann auch fĂŒr Angriffe auf Systemcontainerisolation verwendet werden.
Quelle: opennet.ru
