Ranjivost u podsustavu Linux kernela USB Gadgeta, potencijalno dopuštajući izvršenje koda

Ranjivost (CVE-2021-39685) identificirana je u USB Gadgetu, podsustavu Linux kernela koji pruža programsko sučelje za kreiranje USB klijentskih uređaja i softverske simulacije USB uređaja, što može dovesti do curenja kernela, pada ili izvršavanje proizvoljnog koda na jezgri. Napad izvodi neprivilegirani lokalni korisnik kroz manipulaciju različitih klasa uređaja implementiranih na temelju USB Gadget API-ja, kao što su rndis, hid, uac1, uac1_legacy i uac2.

Problem je riješen u nedavno objavljenim ažuriranjima kernela Linuxa 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 i 4.4.295. U distribucijama problem i dalje ostaje neriješen (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Pripremljen je prototip exploit-a za demonstraciju ranjivosti.

Problem je uzrokovan prekoračenjem međuspremnika u rukovateljima zahtjevima za prijenos podataka u upravljačkim programima rndis, hid, uac1, uac1_legacy i uac2. Kao rezultat iskorištavanja ranjivosti, neprivilegirani napadač može dobiti pristup memoriji kernela slanjem posebnog kontrolnog zahtjeva s vrijednošću polja wLength koja premašuje veličinu statičkog međuspremnika, za koji se uvijek dodjeljuje 4096 bajtova (USB_COMP_EP0_BUFSIZ). Tijekom napada, neprivilegirani proces korisničkog prostora može čitati ili pisati do 65 KB podataka u memoriju kernela.

Izvor: opennet.ru

Dodajte komentar