Sicherheitslücke im Linux-Kernel-Subsystem von USB Gadget, die möglicherweise die Ausführung von Code ermöglicht

In USB Gadget, einem Subsystem des Linux-Kernels, das eine Programmierschnittstelle zum Erstellen von USB-Client-Geräten und Softwaresimulation von USB-Geräten bereitstellt, wurde eine Schwachstelle (CVE-2021-39685) identifiziert, die zu einem Kernel-Leck, einem Absturz usw. führen könnte Ausführung willkürlichen Codes in den Kerneln. Der Angriff erfolgt durch einen unprivilegierten lokalen Benutzer durch Manipulation verschiedener Geräteklassen, die auf Basis der USB-Gadget-API implementiert sind, wie z. B. rndis, hid, uac1, uac1_legacy und uac2.

Das Problem wurde in den kürzlich veröffentlichten Linux-Kernel-Updates 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 und 4.4.295 behoben. Bei Distributionen bleibt das Problem weiterhin unbehoben (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Zur Demonstration der Schwachstelle wurde ein Exploit-Prototyp erstellt.

Das Problem wird durch einen Pufferüberlauf in den Datenübertragungsanforderungshandlern in den Gadget-Treibern rndis, hid, uac1, uac1_legacy und uac2 verursacht. Durch die Ausnutzung der Schwachstelle kann ein unprivilegierter Angreifer Zugriff auf den Kernel-Speicher erhalten, indem er eine spezielle Kontrollanforderung mit einem wLength-Feldwert sendet, der die Größe des statischen Puffers überschreitet, für den immer 4096 Bytes reserviert sind (USB_COMP_EP0_BUFSIZ). Während des Angriffs kann ein unprivilegierter User-Space-Prozess bis zu 65 KB Daten in den Kernel-Speicher lesen oder schreiben.

Source: opennet.ru

Kommentar hinzufügen