Linux-ytimen iSCSI-alijärjestelmän haavoittuvuus, jonka avulla voit laajentaa käyttöoikeuksiasi

Linux-ytimen iSCSI-alijärjestelmäkoodissa on havaittu haavoittuvuus (CVE-2021-27365), jonka avulla paikallinen käyttäjä, jolla ei ole etuoikeuksia, voi suorittaa koodia ydintasolla ja saada pääkäyttäjän oikeudet järjestelmään. Hyödynnyksen toimiva prototyyppi on testattavissa. Haavoittuvuus on korjattu Linux-ytimen päivityksissä 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 ja 4.4.260. Ydinpakettien päivitykset ovat saatavilla Debian-, Ubuntu-, SUSE/openSUSE-, Arch Linux- ja Fedora-jakeluissa. RHEL:lle ei ole vielä julkaistu korjauksia.

Ongelma johtuu virheestä libiscsi-moduulin iscsi_host_get_param()-funktiossa, joka otettiin käyttöön vuonna 2006 iSCSI-alijärjestelmän kehittämisen aikana. Oikean koon tarkistusten puuttumisen vuoksi jotkin iSCSI-merkkijonoattribuutit, kuten isäntänimi tai käyttäjänimi, voivat ylittää PAGE_SIZE-arvon (4 kt). Haavoittuvuutta voi hyödyntää etuoikeutettu käyttäjä, joka lähettää Netlink-viestejä, jotka asettavat iSCSI-attribuutit PAGE_SIZE-kokoa suurempiin arvoihin. Kun nämä attribuutit luetaan sysfs:n tai seqfs:n kautta, kutsutaan koodia, joka välittää attribuutit sprintf-funktiolle, joka kopioidaan puskuriin, jonka koko on PAGE_SIZE.

Jakelujen haavoittuvuuden hyödyntäminen riippuu tuesta scsi_transport_iscsi-ydinmoduulin automaattiselle lataukselle, kun yritetään luoda NETLINK_ISCSI-kanta. Jakeluissa, joissa tämä moduuli latautuu automaattisesti, hyökkäys voidaan suorittaa iSCSI-toiminnallisuuden käytöstä riippumatta. Samaan aikaan, jotta hyödyntäminen onnistuisi, vaaditaan lisäksi vähintään yhden iSCSI-kuljetuksen rekisteröinti. Siirron rekisteröintiin puolestaan ​​voidaan käyttää ib_iser-ydinmoduulia, joka latautuu automaattisesti, kun etuoikeutettu käyttäjä yrittää luoda NETLINK_RDMA-socketin.

Hyödyntämiseen tarvittavien moduulien automaattista lataamista tuetaan CentOS 8:ssa, RHEL 8:ssa ja Fedorassa asennettaessa järjestelmään rdma-core-paketti, joka on riippuvainen joistakin suosituista paketeista ja asennetaan oletuksena työasemien, palvelinjärjestelmien kokoonpanoissa, joissa on GUI- ja isäntäympäristöjen virtualisointi. rdma-corea ei kuitenkaan asenneta, kun käytetään palvelinkokoonpanoa, joka toimii vain konsolitilassa, ja kun asennetaan minimaalista asennuskuvaa. Paketti sisältyy esimerkiksi Fedora 31 Workstationin perusjakeluun, mutta se ei sisälly Fedora 31 Serveriin. Debian ja Ubuntu ovat vähemmän herkkiä ongelmalle, koska rdma-core-paketti lataa hyökkäykseen tarvittavat ydinmoduulit vain, jos RDMA-laitteisto on olemassa.

Linux-ytimen iSCSI-alijärjestelmän haavoittuvuus, jonka avulla voit laajentaa käyttöoikeuksiasi

Suojauksen kiertotapana voit poistaa libiscsi-moduulin automaattisen latauksen käytöstä: echo "install libiscsi /bin/true" >> /etc/modprobe.d/disable-libiscsi.conf

Lisäksi iSCSI-alijärjestelmään on korjattu kaksi vähemmän vaarallista haavoittuvuutta, jotka voivat johtaa tietovuotoon ytimestä: CVE-2021-27363 (iSCSI-kuljetuskuvaustietojen vuoto sysfs:n kautta) ja CVE-2021-27364 (out-of-bounds -puskuri) lukea) . Näiden haavoittuvuuksien avulla voidaan kommunikoida netlink-socketin kautta iSCSI-alijärjestelmän kanssa ilman tarvittavia oikeuksia. Esimerkiksi etuoikeutettu käyttäjä voi muodostaa yhteyden iSCSI:hen ja lopettaa istunnon antamalla "end a session" -komennon.

Lähde: opennet.ru

Lisää kommentti