Chyba zabezpečení v OverlayFS umožňující eskalaci oprávnění

V linuxovém jádře byla identifikována zranitelnost v implementaci souborového systému OverlayFS (CVE-2023-0386), který lze použít k získání přístupu root na systémech, které mají nainstalovaný subsystém FUSE a umožňují připojení oddílů OverlayFS nepřivilegovaným uživatel (počínaje jádrem Linux 5.11 se zahrnutím neprivilegovaného uživatelského jmenného prostoru). Problém byl opraven ve větvi jádra 6.2. Publikování aktualizací balíčků v distribucích lze sledovat na stránkách: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Útok se provádí zkopírováním souborů s příznaky setgid/setuid z oddílu připojeného v režimu nosuid do oddílu OverlayFS, který má vrstvu spojenou s oddílem, která umožňuje spouštění souborů suid. Zranitelnost je podobná problému CVE-2021-3847 identifikovanému v roce 2021, ale liší se nižšími požadavky na využití – starý problém vyžadoval manipulaci s xattrs, které jsou omezeny na použití uživatelských jmenných prostorů (user namespace), a nový problém používá bity setgid /setuid, které nejsou konkrétně zpracovávány v uživatelském jmenném prostoru.

Algoritmus útoku:

  • Pomocí subsystému FUSE je připojen souborový systém, ve kterém je spustitelný soubor vlastněný uživatelem root s příznaky setuid / setgid, dostupný pro zápis všem uživatelům. Při montáži FUSE nastaví režim na "nosuid".
  • Zrušit sdílení uživatelských jmenných prostorů a přípojných bodů (jmenný prostor uživatel/připojení).
  • OverlayFS je připojen s FS dříve vytvořeným ve FUSE jako spodní vrstva a horní vrstva na základě zapisovatelného adresáře. Adresář nejvyšší vrstvy musí být umístěn v systému souborů, který při připojení nepoužívá příznak "nosuid".
  • U souboru suid v oddílu FUSE změní dotykový nástroj čas úpravy, což vede k jeho zkopírování do horní vrstvy OverlayFS.
  • Při kopírování jádro neodstraní příznaky setgid/setuid, což způsobí, že se soubor objeví na oddílu, který lze zpracovat pomocí setgid/setuid.
  • K získání práv root stačí spustit soubor s příznaky setgid/setuid z adresáře připojeného k horní vrstvě OverlayFS.

Kromě toho si můžeme všimnout, že výzkumníci z týmu Google Project Zero zveřejnili informace o třech zranitelnostech, které byly opraveny v hlavní větvi jádra Linuxu 5.15, ale nebyly přeneseny na balíčky jádra z RHEL 8.x/9.xa Stream CentOS 9.

  • CVE-2023-1252 – Přístup k již uvolněné oblasti paměti ve struktuře ovl_aio_req při současném provádění několika operací v OverlayFS nasazeném na systému souborů Ext4. Tato chyba zabezpečení vám potenciálně umožňuje zvýšit vaše oprávnění v systému.
  • CVE-2023-0590 - Odkazování na již uvolněnou paměťovou oblast ve funkci qdisc_graft(). Předpokládá se, že operace je omezena na přerušení.
  • CVE-2023-1249 – Přístup k již uvolněné oblasti paměti ve vstupním kódu coredump kvůli chybějícímu volání mmap_lock v file_files_note. Předpokládá se, že operace je omezena na přerušení.

Zdroj: opennet.ru

Přidat komentář