I USB Gadget, en del af Linux-kernen, der tilbyder et programmeringsinterface til oprettelse af klient-USB-enheder og software-simulering af USB-enheder, er der opdaget en sårbarhed (CVE-2021-39685), som kan føre til lækage af information fra kernen, nedbrud eller udførelse af vilkårlig kode på kernel-niveau. Angrebet udføres af en ikke-privilegeret lokal bruger gennem manipulation med forskellige enhedstyper implementeret ved hjælp af USB Gadget API, såsom rndis, hid, uac1, uac1_legacy og uac2.
Problemet er blevet løst i de for nylig offentliggjorte opdateringer til Linux-kernen 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 og 4.4.295. I distributionerne forbliver problemet stadig ufixet (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Der er udarbejdet en prototype af et exploit for at demonstrere sårbarheden.
Problemet skyldes et bufferoverløb i datatransmissionsanmodningsbehandlere i gadget-drivere rndis, hid, uac1, uac1_legacy og uac2. Som følge af udnyttelsen af sårbarheden kan en ikke-privilegeret angriber få adgang til kernens hukommelse ved at sende en særlig kontrolanmodning med et wLength-felt, der overstiger størrelsen på det statiske buffer, som altid allokeres 4096 bytes (USB_COMP_EP0_BUFSIZ). Under angrebet kan der læses eller skrives op til 65 KB data fra en ikke-privilegeret proces i brugerrummet til kernens hukommelse.
Kilde: opennet.ru
