USB-laitteessa ytimen alijärjestelmä LinuxUSB Gadget API:ssa on tunnistettu haavoittuvuus (CVE-2021-39685). Tämä rajapinta tarjoaa ohjelmistorajapinnan asiakas-USB-laitteiden luomiseen ja simulointiin. Haavoittuvuus voi johtaa ytimen tietovuotoon, kaatumiseen tai mielivaltaisen koodin suorittamiseen ytimen tasolla. Hyökkäyksen suorittaa paikallinen käyttäjä, joka ei ole oikeutettu paikallinen käyttäjä, manipuloimalla erilaisia USB Gadget API:n avulla toteutettuja laiteluokkia, kuten rndis, hid, uac1, uac1_legacy ja uac2.
Ongelma on korjattu äskettäin julkaistuissa kernel-päivityksissä. Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 ja 4.4.295. Ongelmaa ei ole korjattu jakeluissa (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Haavoittuvuuden demonstroimiseksi on valmisteltu prototyyppinen hyödyntämisversio.
Ongelman aiheuttaa puskurin ylivuoto rndis-, hid-, uac1-, uac1_legacy- ja uac2-laiteohjainten tiedonsiirtopyyntöjen käsittelijöissä. Hyödyntämällä tätä haavoittuvuutta etuoikeudeton hyökkääjä voi käyttää ytimen muistia lähettämällä erityisen ohjauspyynnön, jonka wLength-kentän arvo ylittää staattisen puskurin koon, jolle on aina varattu 4096 tavua (USB_COMP_EP0_BUFSIZ). Tämä hyökkäys sallii etuoikeudettoman käyttäjätilan prosessin lukea tai kirjoittaa jopa 65 kt tietoa ytimen muistiin.
Lähde: opennet.ru
