V kóde subsystému iSCSI v rámci jadra Linux bola zistená zraniteľnosť (CVE-2021-27365), ktorá umožňuje neoprávnenému lokálnemu používateľovi vykonávať kód na úrovni jadra a získať root-privilégiá v systéme. Pre testovanie je dostupný funkčný prototyp exploit-u. Zraniteľnosť bola odstránená v aktualizáciách jadra Linux 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 a 4.4.260. Aktualizácie balíkov s jadrom sú dostupné v distribúciách Debian, Ubuntu, SUSE/openSUSE, Arch Linux a Fedora. Pre RHEL opravy zatiaľ neboli vydané.
Problém je spôsobený chybou vo funkcii iscsi_host_get_param() v module libiscsi, ktorá bola zavedená už v roku 2006 počas vývoja subsystému iSCSI. Vzhľadom na nedostatok riadnych kontrol veľkosti môžu niektoré atribúty reťazca iSCSI, ako hostname alebo username, prekročiť hodnotu PAGE_SIZE (4 kB). Zraniteľnosť môže byť zneužitá prostredníctvom zasielania Netlink správ neoprávneným používateľom, ktoré nastavujú atribúty iSCSI na hodnoty prekračujúce PAGE_SIZE. Pri čítaní údajov týchto atribútov cez sysfs alebo seqfs sa spúšťa kód, ktorý prenáša atribúty do funkcie sprintf na kopírovanie do buffer-u, ktorého veľkosť je rovná PAGE_SIZE.
Využitie zraniteľnosti v distribúciách závisí od podpory automatického načítania modulu jadra scsi_transport_iscsi pri pokuse o vytvorenie zásuvky NETLINK_ISCSI. V distribúciách, kde sa tento modul automaticky načítava, môže byť útok vykonaný nezávisle od používania funkčnosti iSCSI. Na úspešné vykonanie exploit-u je zároveň potrebné zaregistrovať minimálne jeden transport iSCSI. Na registráciu transportu je možné využiť modul jadra ib_iser, ktorý sa automaticky načíta pri pokuse o vytvorenie zásuvky NETLINK_RDMA neoprávneným používateľom.
Automatické načítanie potrebných modulov pre využitie exploitov je podporované v CentOS 8, RHEL 8 a Fedora pri inštalácii balíka rdma-core, ktorý je závislosťou pre niektoré populárne balíky a predvolene sa inštaluje v konfiguráciách pre pracovné stanice, serverové systémy s GUI a hosťovské prostredia virtualizácie. Pri tom sa rdma-core neinstaluje pri použití serverovej zostavy, ktorá funguje iba v konzolovom režime, a pri inštalácii minimálneho inštalačného obrazu. Napríklad balík je súčasťou základnej dodávky Fedora 31 Workstation, ale nie je zahrnutý v Fedora 31 Server. Debian a Ubuntu sú menej náchylné na problém, pretože balík rdma-core načíta potrebné moduly jadra pre útok iba pri prítomnosti RDMA hardvéru.

Ako obchádzku ochrany môžete zakázať automatické načítanie modulu libiscsi: echo "install libiscsi /bin/true" >> /etc/modprobe.d/disable-libiscsi.conf
Okrem toho boli v subsystéme iSCSI odstránené ďalšie dve menej nebezpečné zraniteľnosti, ktoré môžu viesť k úniku údajov z jadra: CVE-2021-27363 (únik informácií o deskriptore transportu iSCSI cez sysfs) a CVE-2021-27364 (čítenie z oblasti mimo hraníc buffera). Uvedené zraniteľnosti môžu byť použité na interakciu cez netlink socket s subsystémom iSCSI bez potrebných privilégií. Napríklad, nepriviligovaný užívateľ sa môže pripojiť k iSCSI a odoslať príkaz "end a session" na prerušenie relácie.
Zdroj: opennet.ru
