A systemd-coredump sebezhetősége, amely lehetővé teszi a suid programok memória tartalmának meghatározását

Sebezhetőséget (CVE-2022-4415) azonosítottak a systemd-coredump összetevőben, amely a folyamat összeomlása után generált alapvető fájlokat kezeli. A probléma megerősítést nyert az alapértelmezett konfigurációban az openSUSE, Arch, Debian, Fedora és SLES disztribúciókban.

A sérülékenységet az fs.suid_dumpable sysctl paraméter megfelelő kezelésének hiánya okozza a systemd-coredump-ban, amely az alapértelmezett 2-es érték mellett lehetővé teszi a magkiíratások generálását a suid jelzővel rendelkező folyamatokhoz. Magától értetődik, hogy a kernel által írt suid-folyamatok alapfájljait olyan hozzáférési jogokkal kell ellátni, amelyek csak a root felhasználó általi olvasását teszik lehetővé. A rendszermag által az alapfájlok mentésére meghívott systemd-coredump segédprogram rootként menti el az alapfájlt, de emellett ACL-alapú hozzáférést biztosít az alapfájlokhoz, amelyek a fájlt eredetileg elindító tulajdonos azonosítója alapján olvashatók. folyamat.

Ez a funkció lehetővé teszi az alapvető fájlok betöltését anélkül, hogy a program megváltoztathatja a felhasználói azonosítót, és emelt jogosultságokkal futhat. A támadás abban rejlik, hogy a felhasználó elindíthat egy suid alkalmazást és küldhet neki egy SIGSEGV jelet, ami után betölti a magfájl tartalmát, amely a folyamat összeomláskori memóriájának egy szeletét tartalmazza.

Például a felhasználó futtathatja a "/usr/bin/su" fájlt, és egy másik terminálban leállíthatja a végrehajtását a "kill -s SIGSEGV `pidof su" paranccsal, ami után a systemd-coredump elmenti az alapfájlt a /var mappába. /lib/systemd/ könyvtár coredump egy ACL beállításával, amely lehetővé teszi az aktuális felhasználó számára, hogy elolvassa. Mivel a „su” suid segédprogram beolvassa a /etc/shadow tartalmát a memóriába, a támadó hozzáférhet a rendszer összes felhasználójának jelszókivonataihoz. A sudo segédprogram nem érzékeny a támadásokra, mivel tiltja az alapvető fájlok létrehozását az ulimit segítségével.

A systemd fejlesztői szerint a sérülékenység a systemd 247-es kiadásától kezdve (2020. november) nyilvánul meg, de a problémát azonosító kutató szerint a 246-os kiadás is érintett. A sérülékenység akkor nyilvánul meg, ha a systemd a libacl könyvtárral épül fel ( alapértelmezés szerint minden népszerű disztribúcióban). A javítás továbbra is elérhető javításként. A javítást a következő oldalakon követheti nyomon a disztribúciókban: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Biztonsági megoldásként a sysctl fs.suid_dumpable értéket 0-ra állíthatja, ami letiltja a kiíratások átvitelét a systemd-coredump kezelőhöz.

Forrás: opennet.ru

Hozzászólás