En USB Gadget, kerna subsistemo LinuxVundebleco (CVE-2021-39685) estis identigita en la USB Gadget API, kiu provizas programaran interfacon por krei klientajn USB-aparatojn kaj simuli USB-aparatojn. Ĉi tiu vundebleco povus kaŭzi kernajn informojn, kraŝon aŭ arbitran kod-ekzekuton je la kerna nivelo. La atakon faras neprivilegia loka uzanto per manipulado de diversaj aparataj klasoj efektivigitaj per la USB Gadget API, kiel ekzemple rndis, hid, uac1, uac1_legacy kaj uac2.
La problemo estis solvita en kernaj ĝisdatigoj publikigitaj lastatempe. Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 kaj 4.4.295. La problemo restas nesolvita en la distribuaĵoj (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Prototipa ekspluato estis preparita por demonstri la vundeblecon.
La problemo estas kaŭzita de bufro superfluo en la datumtransiga petotraktiloj en la gadget-ŝoforoj rndis, hid, uac1, uac1_legacy kaj uac2. Kiel rezulto de ekspluatado de la vundebleco, senprivilegia atakanto povas akiri aliron al kernmemoro sendante specialan kontrolpeton kun wLength-kampa valoro kiu superas la grandecon de la senmova bufro, por kiu 4096 bajtoj estas ĉiam asignitaj (USB_COMP_EP0_BUFSIZ). Dum la atako, senprivilegia procezo en uzantspaco povas legi aŭ skribi ĝis 65 KB da datumoj en kernmemoron.
fonto: opennet.ru
