U USB Gadgetu, podsustav jezgre LinuxU USB Gadget API-ju, koji pruža softversko sučelje za stvaranje klijentskih USB uređaja i simuliranje USB uređaja, identificirana je ranjivost (CVE-2021-39685). Ova ranjivost može dovesti do curenja informacija iz jezgre, rušenja sustava ili proizvoljnog izvršavanja koda na razini jezgre. Napad provodi neprivilegirani lokalni korisnik manipuliranjem raznim klasama uređaja implementiranim 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 iskorištavanja kako bi se demonstrirala ranjivost.
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
