Ranljivost v podsistemu jedra Linuxa pripomočka USB, ki potencialno omogoča izvajanje kode

V USB Gadgetu, podsistemu jedra Linuxa, ki ponuja programski vmesnik za ustvarjanje odjemalskih naprav USB in programsko simulacijo naprav USB, je bila ugotovljena ranljivost (CVE-2021-39685), ki lahko povzroči puščanje jedra, zrušitev ali izvajanje poljubne kode v jedrih. Napad izvede neprivilegirani lokalni uporabnik z manipulacijo različnih razredov naprav, implementiranih na podlagi API-ja USB Gadget, kot so rndis, hid, uac1, uac1_legacy in uac2.

Težava je bila odpravljena v nedavno objavljenih posodobitvah jedra Linuxa 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 in 4.4.295. V distribucijah problem še vedno ostaja neodpravljen (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Za prikaz ranljivosti je bil pripravljen prototip izkoriščanja.

Težavo povzroča prekoračitev medpomnilnika v obdelovalcih zahtev za prenos podatkov v gonilnikih pripomočkov rndis, hid, uac1, uac1_legacy in uac2. Zaradi izkoriščanja ranljivosti lahko neprivilegirani napadalec pridobi dostop do pomnilnika jedra s pošiljanjem posebne zahteve za nadzor z vrednostjo polja wLength, ki presega velikost statičnega medpomnilnika, za katerega je vedno dodeljenih 4096 bajtov (USB_COMP_EP0_BUFSIZ). Med napadom lahko neprivilegiran proces uporabniškega prostora prebere ali zapiše do 65 KB podatkov v pomnilnik jedra.

Vir: opennet.ru

Dodaj komentar