USB Gadgetin Linux-ytimen alijärjestelmän haavoittuvuus, joka saattaa mahdollistaa koodin suorittamisen

USB Gadget, Linux-ytimen alijärjestelmä, joka tarjoaa ohjelmointirajapinnan USB-asiakaslaitteiden ja USB-laitteita simuloivien ohjelmistojen luomiseen, sisältää haavoittuvuuden (CVE-2021-39685), joka voi johtaa tietovuotoon ytimestä, kaatumiseen tai mielivaltainen koodi ytimen tasolla. Hyökkäyksen suorittaa etuoikeutettu paikallinen käyttäjä manipuloimalla erilaisia ​​USB Gadget API:n pohjalta toteutettuja laiteluokkia, kuten rndis, hid, uac1, uac1_legacy ja uac2.

Ongelma korjattiin äskettäin julkaistuissa Linux-ytimen päivityksissä 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 ja 4.4.295. Ongelma on edelleen korjaamaton jakeluissa (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Haavoittuvuuden osoittamiseksi on valmisteltu hyväksikäyttöprototyyppi.

Ongelman aiheuttaa puskurin ylivuoto tiedonsiirtopyyntöjen käsittelijöissä gadget-ajureissa rndis, hid, uac1, uac1_legacy ja uac2. Haavoittuvuuden hyödyntämisen seurauksena etuoikeutettu hyökkääjä voi päästä ytimen muistiin lähettämällä erityisen ohjauspyynnön wLength-kentän arvolla, joka ylittää staattisen puskurin koon ja jolle on aina varattu 4096 tavua (USB_COMP_EP0_BUFSIZ). Hyökkäyksen aikana käyttäjätilassa oleva etuoikeutettu prosessi voi lukea tai kirjoittaa jopa 65 kilotavua dataa ytimen muistiin.

Lähde: opennet.ru

Lisää kommentti