USB-vidina Linuxi tuuma alamsüsteemi haavatavus, mis võib lubada koodi käivitamist

Linuxi tuuma alamsüsteemil USB-vidinal, mis pakub programmeerimisliidest USB-kliendiseadmete ja USB-seadmeid simuleeriva tarkvara loomiseks, on haavatavus (CVE-2021-39685), mis võib põhjustada tuumast teabelekke, krahhi või programmi käivitamise. suvaline kood tuumade tasemel. Rünnaku viib läbi privilegeerimata kohalik kasutaja, manipuleerides USB vidina API-l põhinevate erinevate seadmeklassidega, nagu rndis, hid, uac1, uac1_legacy ja uac2.

Probleem lahendati hiljuti avaldatud Linuxi kerneli värskendustes 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 ja 4.4.295. Distributsioonides (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch) on probleem lahendamata. Haavatavuse demonstreerimiseks on ette valmistatud ärakasutamise prototüüp.

Probleemi põhjustab andmeedastustaotluste töötlejate puhvri ületäitumine vidina draiverites rndis, hid, uac1, uac1_legacy ja uac2. Haavatavuse ärakasutamise tulemusena saab privilegeerimata ründaja juurdepääsu kerneli mälule, saates spetsiaalse kontrollipäringu wLength välja väärtusega, mis ületab staatilise puhvri suurust ja mille jaoks eraldatakse alati 4096 baiti (USB_COMP_EP0_BUFSIZ). Rünnaku ajal võib kasutajaruumis olev privilegeerimata protsess lugeda või kirjutada kerneli mällu kuni 65 KB andmeid.

Allikas: opennet.ru

Lisa kommentaar