Zraniteľnosť v OverlayFS umožňujúca eskaláciu privilégií

V linuxovom jadre bola identifikovaná zraniteľnosť pri implementácii súborového systému OverlayFS (CVE-2023-0386), ktorý možno použiť na získanie prístupu root v systémoch, ktoré majú nainštalovaný subsystém FUSE a umožňujú pripojenie oddielov OverlayFS neprivilegovaným užívateľ (počnúc jadrom Linux 5.11 so zahrnutím neprivilegovaného užívateľského menného priestoru). Problém bol vyriešený vo vetve jadra 6.2. Publikovanie aktualizácií balíkov v distribúciách je možné sledovať na stránkach: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Útok sa vykonáva skopírovaním súborov s príznakmi setgid/setuid z oddielu pripojeného v režime nosuid do oddielu OverlayFS, ktorý má vrstvu spojenú s oddielom, ktorá umožňuje spustenie súborov suid. Zraniteľnosť je podobná problému CVE-2021-3847 identifikovanému v roku 2021, ale líši sa nižšími požiadavkami na využitie – starý problém vyžadoval manipuláciu s xattrs, ktorá je obmedzená na používanie užívateľských menných priestorov (user namespace) a nový problém používa bity setgid /setuid, ktoré nie sú špecificky spracované v užívateľskom mennom priestore.

Algoritmus útoku:

  • Pomocou subsystému FUSE je pripojený súborový systém, v ktorom je spustiteľný súbor vlastnený používateľom root s príznakmi setuid / setgid, ktorý je k dispozícii všetkým používateľom na zápis. Pri montáži FUSE nastaví režim na "nosuid".
  • Zrušenie zdieľania používateľských menných priestorov a pripojovacích bodov (používateľ/pripojovací priestor).
  • OverlayFS je namontovaný s FS predtým vytvoreným vo FUSE ako spodná vrstva a vrchná vrstva na základe zapisovateľného adresára. Adresár najvyššej vrstvy musí byť umiestnený v súborovom systéme, ktorý pri pripojení nepoužíva príznak "nosuid".
  • Pre súbor suid v oblasti FUSE zmení dotykový nástroj čas úpravy, čo vedie k jeho skopírovaniu do hornej vrstvy OverlayFS.
  • Pri kopírovaní jadro neodstráni príznaky setgid/setuid, čo spôsobí, že sa súbor objaví na oddiele, ktorý môže spracovať setgid/setuid.
  • Na získanie práv root stačí spustiť súbor s príznakmi setgid/setuid z adresára pripojeného k najvyššej vrstve OverlayFS.

Okrem toho si môžeme všimnúť, že výskumníci z tímu Google Project Zero zverejnili informácie o troch zraniteľnostiach, ktoré boli opravené v hlavnej vetve jadra Linuxu 5.15, ale neboli prenesené do balíkov jadra z RHEL 8.x/9.xa Stream CentOS 9.

  • CVE-2023-1252 - Prístup k už uvoľnenej oblasti pamäte v štruktúre ovl_aio_req pri súčasnom vykonávaní niekoľkých operácií v OverlayFS nasadenej na súborovom systéme Ext4. Zraniteľnosť vám potenciálne umožňuje zvýšiť vaše privilégiá v systéme.
  • CVE-2023-0590 - Odkazuje na už uvoľnenú oblasť pamäte vo funkcii qdisc_graft(). Predpokladá sa, že operácia je obmedzená na prerušenie.
  • CVE-2023-1249 - Prístup k už uvoľnenej oblasti pamäte v vstupnom kóde Coredump z dôvodu chýbajúceho volania mmap_lock v file_files_note. Predpokladá sa, že operácia je obmedzená na prerušenie.

Zdroj: opennet.ru

Pridať komentár