Ranjivost u podsistemu Linux kernela USB gadgeta, koja potencijalno dozvoljava izvršavanje koda

Identifikovana je ranjivost (CVE-2021-39685) u USB Gadgetu, podsistemu Linux kernela koji pruža programsko sučelje za kreiranje USB klijentskih uređaja i softversku simulaciju USB uređaja, što može dovesti do curenja kernela, pada ili proizvoljno izvršenje koda u jezgrima. Napad izvodi neprivilegirani lokalni korisnik kroz manipulaciju različitim klasama uređaja implementiranih na bazi USB Gadget API-ja, kao što su rndis, hid, uac1, uac1_legacy i uac2.

Problem je popravljen u ažuriranjima Linux kernela 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 i 4.4.295 objavljenim nedavno. U distribucijama, problem i dalje ostaje neriješen (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Pripremljen je prototip eksploatacije da demonstrira 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

Dodajte komentar