Az OverlayFS biztonsági rése, amely lehetővé teszi a jogosultságok kiterjesztését

Sebezhetőséget észleltek a Linux kernelben az OverlayFS fájlrendszer (CVE-2023-0386) megvalósításában, amely root hozzáférést szerezhet azokon a rendszereken, amelyekre telepítve van a FUSE alrendszer, és lehetővé teszi az OverlayFS partíciók felcsatolását jogosulatlan felhasználók számára. felhasználó (a Linux 5.11-es kernellel kezdődően, privilegizált felhasználói névtérrel). A hibát a 6.2-es kernel ágban javították. A csomagfrissítések közzététele a disztribúciókban a következő oldalakon követhető nyomon: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

A támadást úgy hajtják végre, hogy a setgid/setuid jelzővel ellátott fájlokat egy nosuid módban csatlakoztatott partícióról egy olyan OverlayFS partícióra másolják, amelyhez a partícióhoz van egy olyan réteg társítva, amely lehetővé teszi a suid fájlok végrehajtását. A sérülékenység hasonló a 2021-ben azonosított CVE-3847-2021 hibához, de alacsonyabb kihasználási követelményekben különbözik – a régi probléma xattrs kezelést igényelt, amelyek felhasználói névterek (felhasználói névtér) használatára korlátozódnak, az új probléma pedig biteket használ setgid. /setuid, amelyeket nem kifejezetten a felhasználói névtér kezel.

Támadási algoritmus:

  • A FUSE alrendszer segítségével egy fájlrendszert csatolunk, amelyben a root felhasználó tulajdonában lévő végrehajtható fájl található a setuid / setgid jelzőkkel, és minden felhasználó számára elérhető írásra. Felszereléskor a FUSE "nosuid"-ra állítja az üzemmódot.
  • Felhasználói névterek és csatlakozási pontok megosztásának megszüntetése (felhasználói/csatolási névtér).
  • Az OverlayFS a FUSE-ban korábban létrehozott FS-rel van felcsatolva alsó rétegként és felső rétegként az írható könyvtár alapján. A felső réteg könyvtárának olyan fájlrendszerben kell lennie, amely nem használja a "nosuid" jelzőt a csatlakoztatáskor.
  • A FUSE partícióban lévő suid fájl esetében a touch segédprogram megváltoztatja a módosítási időt, ami az OverlayFS felső rétegére másolásához vezet.
  • Másoláskor a kernel nem távolítja el a setgid/setuid jelzőket, ami miatt a fájl a setgid/setuid által feldolgozható partíción jelenik meg.
  • A root jogok megszerzéséhez elegendő a setgid/setuid jelzőkkel ellátott fájlt az OverlayFS legfelső rétegéhez csatolt könyvtárból futtatni.

Ezenkívül megjegyezzük, hogy a Google Project Zero csapatának kutatói három olyan sérülékenységről tettek közzé információkat, amelyeket a Linux 5.15-ös kernel fő ágában javítottak, de nem kerültek át az RHEL 8.x/9.x rendszermag-csomagjaiba. CentOS Stream 9.

  • CVE-2023-1252 – Az ovl_aio_req struktúrában már felszabadult memóriaterület elérése, miközben több műveletet hajt végre egyidejűleg az Ext4 fájlrendszer tetején telepített OverlayFS-ben. A biztonsági rés potenciálisan lehetővé teszi a rendszer jogosultságainak növelését.
  • CVE-2023-0590 - A qdisc_graft() függvényben már felszabadult memóriaterületre hivatkozik. Feltételezhető, hogy a művelet a megszakításra korlátozódik.
  • CVE-2023-1249 – Hozzáférés egy már felszabadult memóriaterülethez a coredump belépési kódban, mert hiányzik a file_files_note fájlban található mmap_lock hívás. Feltételezhető, hogy a művelet a megszakításra korlátozódik.

Forrás: opennet.ru

Hozzászólás