Im USB-Gadget, einer Subsystem des Linux-Kernels, die eine Programmierschnittstelle zur Erstellung von Client-USB-GerĂ€ten und zur Software-Simulation von USB-GerĂ€ten bereitstellt, wurde eine Schwachstelle (CVE-2021-39685) entdeckt, die zu einem Informationsleck aus dem Kernel, zu AbstĂŒrzen oder zur AusfĂŒhrung willkĂŒrlichen Codes auf Kernel-Ebene fĂŒhren kann. Ein nicht privilegierter lokaler Benutzer kann durch Manipulation mit verschiedenen GerĂ€teklassen, die auf der API USB Gadget basieren, wie rndis, hid, uac1, uac1_legacy und uac2, angreifen.
Das Problem wurde in den kĂŒrzlich veröffentlichten Updates fĂŒr die Linux-Kernel 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 und 4.4.295 behoben. In den Distributionen bleibt das Problem jedoch weiterhin ungelöst (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Ein Prototyp eines Exploits wurde zur Demonstration der Schwachstelle vorbereitet.
Das Problem wurde durch einen Buffer-Overrun in den DatenĂŒbertragungsanfragen der Gadget-Treiber rndis, hid, uac1, uac1_legacy und uac2 verursacht. Durch die Ausnutzung dieser Schwachstelle kann ein nicht privilegierter Angreifer auf den Kernel-Speicher zugreifen, indem er eine spezielle Steueranfrage mit einem wLength-Feld sendet, das die GröĂe des statischen Buffers ĂŒberschreitet, fĂŒr den immer 4096 Byte (USB_COMP_EP0_BUFSIZ) reserviert werden. Im Verlauf des Angriffs können bis zu 65 KB Daten aus einem nicht privilegierten Prozess im Benutzerspeicher in den Kernel-Speicher gelesen oder geschrieben werden.
Quelle: opennet.ru
