Az USB Gadgetben egy kernel alrendszer LinuxEgy sebezhetőséget (CVE-2021-39685) azonosítottak az USB Gadget API-ban, amely egy szoftveres felületet biztosít kliens USB-eszközök létrehozásához és USB-eszközök szimulálásához. Ez a sebezhetőség kernel-információk szivárgásához, összeomláshoz vagy tetszőleges kódfuttatáshoz vezethet a kernel szintjén. A támadást egy nem privilegizált helyi felhasználó hajtja végre az USB Gadget API segítségével megvalósított különféle eszközosztályok, például az rndis, hid, uac1, uac1_legacy és uac2 manipulálásával.
A problémát a nemrég kiadott kernelfrissítésekben javították. Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 és 4.4.295. A probléma továbbra sem javított a disztribúciókban (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Egy prototípus sérülékenység-kihasználási kísérletet készítettek a sebezhetőség bemutatására.
A problémát puffertúlcsordulás okozza az rndis, hid, uac1, uac1_legacy és uac2 gadget-illesztőprogramokban lévő adatátviteli kéréskezelőkben. A sérülékenység kihasználása következtében a jogosulatlan támadó a statikus puffer méretét meghaladó wLength mezőértékkel rendelkező speciális vezérlési kérés elküldésével férhet hozzá a kernelmemóriához, amelyhez mindig 4096 bájt van lefoglalva (USB_COMP_EP0_BUFSIZ). A támadás során egy nem jogosult felhasználói területi folyamat akár 65 KB adatot is képes olvasni vagy írni a kernel memóriájába.
Forrás: opennet.ru
