U USB Gadgetu, podsistem kernela LinuxRanjivost (CVE-2021-39685) je identificirana u USB Gadget API-ju, koji pruža softverski interfejs za kreiranje klijentskih USB uređaja i simuliranje USB uređaja. Ova ranjivost može dovesti do curenja informacija o kernelu, pada sistema ili proizvoljnog izvršavanja koda na nivou kernela. Napad izvodi neprivilegovani lokalni korisnik manipulacijom različitih klasa uređaja implementiranih pomoću USB Gadget API-ja, kao što su rndis, hid, uac1, uac1_legacy i uac2.
Problem je riješen u nedavno objavljenim ažuriranjima kernela. Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 i 4.4.295. Problem ostaje neriješen u distribucijama (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Pripremljen je prototip exploita kako bi se demonstrirala ranjivost.
Problem je uzrokovan prelivom bafera u rukovaocima zahtjeva za prijenos podataka u drajverima gadžeta rndis, hid, uac1, uac1_legacy i uac2. Kao rezultat iskorištavanja ranjivosti, neprivilegirani napadač može dobiti pristup memoriji kernela slanjem posebnog kontrolnog zahtjeva sa vrijednošću polja wLength koja premašuje veličinu statičkog bafera, za koji je uvijek dodijeljeno 4096 bajtova (USB_COMP_EP0_BUFSIZ). Tokom napada, neprivilegirani proces korisničkog prostora može pročitati ili upisati do 65 KB podataka u memoriju kernela.
izvor: opennet.ru
