V USB Gadget, podsystém jadra LinuxV rozhraní USB Gadget API, ktoré poskytuje softvérové rozhranie na vytváranie klientskych USB zariadení a simuláciu USB zariadení, bola identifikovaná zraniteľnosť (CVE-2021-39685). Táto zraniteľnosť by mohla viesť k úniku informácií z jadra, zlyhaniu alebo spusteniu ľubovoľného kódu na úrovni jadra. Útok vykonáva neprivilegovaný lokálny používateľ prostredníctvom manipulácie s rôznymi triedami zariadení implementovanými pomocou rozhrania USB Gadget API, ako sú rndis, hid, uac1, uac1_legacy a uac2.
Problém bol opravený v nedávno publikovaný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. Problém zostáva v distribúciách nevyriešený (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Na demonštráciu tejto zraniteľnosti bol pripravený prototyp zneužitia.
Problém je spôsobený pretečením vyrovnávacej pamäte v obslužných nástrojoch požiadaviek na prenos údajov v ovládačoch miniaplikácií 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 odoslaním špeciálnej riadiacej požiadavky s hodnotou poľa wLength, ktorá presahuje veľkosť statickej vyrovnávacej pamäte, pre ktorú je vždy alokovaných 4096 bajtov (USB_COMP_EP0_BUFSIZ). Počas útoku môže neprivilegovaný proces v užívateľskom priestore čítať alebo zapisovať až 65 KB údajov do pamäte jadra.
Zdroj: opennet.ru
