„Linux“ branduolio iSCSI posistemio pažeidžiamumas, leidžiantis išplėsti savo teises

„Linux“ branduolio iSCSI posistemio kode buvo nustatytas pažeidžiamumas (CVE-2021-27365), kuris leidžia neprivilegijuotam vietiniam vartotojui vykdyti kodą branduolio lygiu ir įgyti sistemos root teises. Galima išbandyti veikiantį išnaudojimo prototipą. Pažeidžiamumas buvo pašalintas naudojant „Linux“ branduolio naujinius 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 ir 4.4.260. Branduolio paketo naujinimai pasiekiami Debian, Ubuntu, SUSE/openSUSE, Arch Linux ir Fedora platinimuose. RHEL pataisymai dar nebuvo išleisti.

Problemą sukelia libiscsi modulio funkcijos iscsi_host_get_param() klaida, kuri buvo pristatyta dar 2006 m. kuriant iSCSI posistemį. Dėl to, kad trūksta tinkamo dydžio patikrų, kai kurie iSCSI eilutės atributai, pvz., pagrindinio kompiuterio pavadinimas arba naudotojo vardas, gali viršyti PAGE_SIZE reikšmę (4 KB). Pažeidžiamumu gali pasinaudoti neprivilegijuotas vartotojas, siunčiantis „Netlink“ pranešimus, kurie nustato iSCSI atributus į didesnes nei PAGE_SIZE reikšmes. Kai šie atributai nuskaitomi per sysfs arba seqfs, iškviečiamas kodas, kuris perduoda atributus sprintf funkcijai, kad jie būtų nukopijuoti į buferį, kurio dydis yra PAGE_SIZE.

Platinimo pažeidžiamumo išnaudojimas priklauso nuo automatinio scsi_transport_iscsi branduolio modulio įkėlimo palaikymo, kai bandoma sukurti NETLINK_ISCSI lizdą. Platinimuose, kuriuose šis modulis įkeliamas automatiškai, ataka gali būti vykdoma nepriklausomai nuo iSCSI funkcijos naudojimo. Tuo pačiu metu, norint sėkmingai naudoti išnaudojimą, papildomai reikia registruoti bent vieną iSCSI transportą. Savo ruožtu, norėdami užregistruoti transportą, galite naudoti ib_iser branduolio modulį, kuris automatiškai įkeliamas, kai neprivilegijuotas vartotojas bando sukurti NETLINK_RDMA lizdą.

Automatinis išnaudojimui reikalingų modulių įkėlimas palaikomas CentOS 8, RHEL 8 ir Fedora sistemose diegiant rdma-core paketą, kuris yra kai kurių populiarių paketų priklausomybė ir yra įdiegtas pagal numatytuosius nustatymus darbo stočių, serverių sistemų su GUI ir pagrindinio kompiuterio aplinkos virtualizavimas. Tačiau rdma-core neįdiegiamas naudojant serverio komplektą, kuris veikia tik konsolės režimu ir diegiant minimalų diegimo vaizdą. Pavyzdžiui, paketas įtrauktas į bazinį Fedora 31 Workstation platinimą, bet nėra įtrauktas į Fedora 31 Server. Debian ir Ubuntu yra mažiau jautrūs šiai problemai, nes rdma-core paketas įkelia branduolio modulius, reikalingus atakai, tik jei yra RDMA aparatinė įranga.

„Linux“ branduolio iSCSI posistemio pažeidžiamumas, leidžiantis išplėsti savo teises

Kaip saugumo sprendimą galite išjungti automatinį libiscsi modulio įkėlimą: echo „install libiscsi /bin/true“ >> /etc/modprobe.d/disable-libiscsi.conf

Be to, iSCSI posistemyje buvo ištaisyti du mažiau pavojingi pažeidžiamumai, dėl kurių gali nutekėti duomenys iš branduolio: CVE-2021-27363 (iSCSI transportavimo deskriptoriaus informacijos nutekėjimas per sysfs) ir CVE-2021-27364 (neribojamas buferis). skaityti). Šios spragos gali būti naudojamos užmegzti ryšį per „netlink“ lizdą su iSCSI posistemiu be reikiamų teisių. Pavyzdžiui, neprivilegijuotas vartotojas gali prisijungti prie iSCSI ir išleisti komandą „baigti seansą“, kad užbaigtų seansą.

Šaltinis: opennet.ru

Добавить комментарий