Ranljivost v podsistemu iSCSI jedra Linuxa, ki vam omogoča stopnjevanje vaših privilegijev

V kodi podsistema iSCSI jedra Linuxa je bila ugotovljena ranljivost (CVE-2021-27365), ki neprivilegiranemu lokalnemu uporabniku omogoča izvajanje kode na ravni jedra in pridobitev korenskih pravic v sistemu. Delujoč prototip izkoriščanja je na voljo za testiranje. Ranljivost je bila odpravljena v posodobitvah jedra Linuxa 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 in 4.4.260. Posodobitve paketov jedra so na voljo v distribucijah Debian, Ubuntu, SUSE/openSUSE, Arch Linux in Fedora. Za RHEL še niso bili izdani nobeni popravki.

Težavo povzroča napaka v funkciji iscsi_host_get_param() iz modula libiscsi, uvedena že leta 2006 med razvojem podsistema iSCSI. Zaradi pomanjkanja ustreznih preverjanj velikosti lahko nekateri atributi niza iSCSI, kot je ime gostitelja ali uporabniško ime, presežejo vrednost PAGE_SIZE (4 KB). Ranljivost lahko izkoristi neprivilegiran uporabnik, ki pošilja sporočila Netlink, ki nastavijo atribute iSCSI na vrednosti, večje od PAGE_SIZE. Ko so ti atributi prebrani prek sysfs ali seqfs, se pokliče koda, ki posreduje atribute funkciji sprintf, da se kopirajo v medpomnilnik, katerega velikost je PAGE_SIZE.

Izkoriščanje ranljivosti v distribucijah je odvisno od podpore za samodejno nalaganje modula jedra scsi_transport_iscsi pri poskusu ustvarjanja vtičnice NETLINK_ISCSI. V distribucijah, kjer se ta modul naloži samodejno, se napad lahko izvede ne glede na uporabo funkcionalnosti iSCSI. Hkrati je za uspešno uporabo exploita dodatno potrebna registracija vsaj enega transporta iSCSI. Če želite registrirati transport, lahko uporabite modul jedra ib_iser, ki se samodejno naloži, ko neprivilegirani uporabnik poskuša ustvariti vtičnico NETLINK_RDMA.

Samodejno nalaganje modulov, potrebnih za uporabo izkoriščanja, je podprto v CentOS 8, RHEL 8 in Fedora pri namestitvi paketa rdma-core v sistem, ki je odvisen od nekaterih priljubljenih paketov in je privzeto nameščen v konfiguracijah za delovne postaje, strežniške sisteme z GUI in virtualizacija gostiteljskih okolij. Vendar rdma-core ni nameščen pri uporabi strežniškega sklopa, ki deluje samo v konzolnem načinu, in pri namestitvi minimalne namestitvene slike. Paket je na primer vključen v osnovno distribucijo delovne postaje Fedora 31, vendar ni vključen v strežnik Fedora 31. Debian in Ubuntu sta manj dovzetna za težavo, ker paket rdma-core naloži module jedra, potrebne za napad, le če je prisotna strojna oprema RDMA.

Ranljivost v podsistemu iSCSI jedra Linuxa, ki vam omogoča stopnjevanje vaših privilegijev

Kot varnostno rešitev lahko onemogočite samodejno nalaganje modula libiscsi: echo “install libiscsi /bin/true” >> /etc/modprobe.d/disable-libiscsi.conf

Poleg tega sta bili v podsistemu iSCSI odpravljeni dve manj nevarni ranljivosti, ki bi lahko povzročili uhajanje podatkov iz jedra: CVE-2021-27363 (uhajanje informacij transportnega deskriptorja iSCSI prek sysfs) in CVE-2021-27364 (medpomnilnik izven meja prebrati). Te ranljivosti je mogoče uporabiti za komunikacijo prek vtičnice netlink s podsistemom iSCSI brez potrebnih privilegijev. Na primer, neprivilegirani uporabnik se lahko poveže z iSCSI in izda ukaz "end a session" za prekinitev seje.

Vir: opennet.ru

Dodaj komentar