Zraniteľnosť v subsystéme iSCSI jadra Linuxu, ktorá vám umožňuje eskalovať vaše privilégiá

V kóde subsystému iSCSI jadra Linuxu bola identifikovaná chyba zabezpečenia (CVE-2021-27365), ktorá umožňuje neprivilegovanému lokálnemu používateľovi spustiť kód na úrovni jadra a získať v systéme oprávnenia root. Na testovanie je k dispozícii funkčný prototyp exploitu. Táto chyba zabezpečenia bola vyriešená v aktualizáciách jadra Linuxu 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 jadra sú dostupné v distribúciách Debian, Ubuntu, SUSE/openSUSE, Arch Linux a Fedora. Zatiaľ neboli vydané žiadne opravy pre RHEL.

Problém je spôsobený chybou vo funkcii iscsi_host_get_param() z modulu libiscsi, ktorý bol predstavený už v roku 2006 počas vývoja subsystému iSCSI. Z dôvodu nedostatočnej kontroly veľkosti môžu niektoré atribúty reťazca iSCSI, ako napríklad názov hostiteľa alebo meno používateľa, prekročiť hodnotu PAGE_SIZE (4 kB). Zraniteľnosť môže zneužiť neprivilegovaný používateľ odosielajúci správy Netlink, ktoré nastavujú atribúty iSCSI na hodnoty väčšie ako PAGE_SIZE. Keď sa tieto atribúty načítajú cez sysfs alebo seqfs, zavolá sa kód, ktorý odovzdá atribúty funkcii sprintf na skopírovanie do vyrovnávacej pamäte, ktorej veľkosť je 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 NETLINK_ISCSI socketu. V distribúciách, kde sa tento modul načíta automaticky, je možné útok vykonať bez ohľadu na použitie funkcionality iSCSI. Zároveň je pre úspešné využitie exploitu dodatočne potrebná registrácia aspoň jedného transportu iSCSI. Na registráciu transportu zase môžete použiť modul jadra ib_iser, ktorý sa načíta automaticky, keď sa neprivilegovaný používateľ pokúsi vytvoriť soket NETLINK_RDMA.

Automatické načítanie modulov potrebných pre exploit aplikáciu je podporované v CentOS 8, RHEL 8 a Fedore pri inštalácii balíka rdma-core do systému, ktorý je závislosťou niektorých populárnych balíkov a je štandardne inštalovaný v konfiguráciách pre pracovné stanice, serverové systémy s GUI a virtualizácia hostiteľských prostredí. rdma-core sa však nenainštaluje pri použití serverovej zostavy, ktorá funguje iba v režime konzoly a pri inštalácii minimálneho inštalačného obrazu. Napríklad balík je zahrnutý v základnej distribúcii Fedora 31 Workstation, ale nie je súčasťou Fedora 31 Server. Debian a Ubuntu sú menej náchylné na tento problém, pretože balík rdma-core načíta moduly jadra potrebné na útok iba vtedy, ak je prítomný hardvér RDMA.

Zraniteľnosť v subsystéme iSCSI jadra Linuxu, ktorá vám umožňuje eskalovať vaše privilégiá

Ako bezpečnostné riešenie 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 opravené dve menej nebezpečné zraniteľnosti, ktoré by mohli viesť k úniku údajov z jadra: CVE-2021-27363 (únik informácií deskriptora transportu iSCSI cez sysfs) a CVE-2021-27364 (vyrovnávacia pamäť mimo hraníc čítať). Tieto zraniteľnosti možno použiť na komunikáciu cez netlink socket so subsystémom iSCSI bez potrebných privilégií. Napríklad neprivilegovaný používateľ sa môže pripojiť k iSCSI a zadať príkaz „ukončiť reláciu“ na ukončenie relácie.

Zdroj: opennet.ru

Pridať komentár