V USB Gadget, subsystéme jadra Linux, ktorý poskytuje programové rozhranie na vytváranie klientských USB zariadení a simuláciu USB zariadení, bola zistená zraniteľnosť (CVE-2021-39685), ktorá môže viesť k úniku informácií z jadra, pádu alebo vykonaniu ľubovoľného kódu na úrovni jadra. Útok je realizovaný neprivilegovaným lokálnym používateľom prostredníctvom manipulácie s rôznymi triedami zariadení implementovanými na základe API USB Gadget, ako sú rndis, hid, uac1, uac1_legacy a uac2.
Problém bol vyriešený v nedávno zverejnených aktualizáciách jadra Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 a 4.4.295. V distribúciách zostáva problém zatiaľ neopravený (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Pre demonštráciu zraniteľnosti bol pripravený prototyp exploit.
Problém je spôsobený preplnením vyrovnávacej pamäte v spracovateľoch požiadaviek na prenos dát v gadget ovládačoch rndis, hid, uac1, uac1_legacy a uac2. V dôsledku zneužitia zraniteľnosti môže neprivilegovaný útočník získať prístup k pamäti jadra prostredníctvom zaslania špeciálneho kontrolného požiadavku so skúmanou hodnotou poľa wLength, ktorá presahuje veľkosť statickej vyrovnávacej pamäte, pre ktorú je vždy pridelených 4096 bajtov (USB_COMP_EP0_BUFSIZ). Počas útoku je možné z neprivilegovaného procesu v užívateľskom priestore prečítať alebo zapísať až 65 kB dát do pamäti jadra.
Zdroj: opennet.ru
