V USB Gadgetu, subsystému jádra LinuxV rozhraní USB Gadget API, které poskytuje softwarové rozhraní pro vytváření klientských USB zařízení a simulaci USB zařízení, byla identifikována zranitelnost (CVE-2021-39685). Tato zranitelnost by mohla vést k úniku informací z jádra, selhání nebo spuštění libovolného kódu na úrovni jádra. Útok provádí neoprávněný lokální uživatel manipulací s různými třídami zařízení implementovanými pomocí rozhraní USB Gadget API, jako jsou rndis, hid, uac1, uac1_legacy a uac2.
Problém byl opraven v nedávno publikovaných aktualizacích jádra. Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 a 4.4.295. Problém zůstává v distribucích nevyřešen (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Pro demonstraci této zranitelnosti byl připraven prototyp zneužití.
Problém je způsoben přetečením vyrovnávací paměti v obslužných programech požadavků na přenos dat v ovladačích gadgetů rndis, hid, uac1, uac1_legacy a uac2. V důsledku zneužití zranitelnosti může neprivilegovaný útočník získat přístup k paměti jádra odesláním speciálního řídicího požadavku s hodnotou pole wLength, která přesahuje velikost statické vyrovnávací paměti, pro kterou je vždy přiděleno 4096 bajtů (USB_COMP_EP0_BUFSIZ). Během útoku může neprivilegovaný proces v uživatelském prostoru číst nebo zapisovat až 65 KB dat do paměti jádra.
Zdroj: opennet.ru
