Vulnerabilitás a systemd-coredumpban, amely lehetővé teszi a suid-programok memóriatartalmának megállapítását

A systemd-coredump komponensben, amely a folyamatok összeomlása után generált core fájlok kezelését biztosítja, egy sérülékenységet (CVE-2022-4415) tártak fel, amely lehetővé teszi, hogy egy nem privilegizált helyi felhasználó meghatározza a root jogosultsággal futó privilegizált folyamatok memória tartalmát. A probléma jelenléte az alapértelmezett konfigurációban megerősítést nyert az openSUSE, Arch, Debian, Fedora és SLES disztribúciókban.

A sérülékenységet az fs.suid_dumpable sysctl paraméter helytelen kezelése okozza a systemd-coredumpban, amelynek alapértelmezett értéke 2, és lehetővé teszi core-dumpok generálását suid flag-gel rendelkező folyamatok számára. Azt feltételezik, hogy a kernel által írt core fájlok suid folyamatokhoz csak a root felhasználó számára olvasható jogosultságokat kapnak. A systemd-coredump eszköz, amelyet a kernel hív meg core fájlok mentésére, a core fájlt root azonosítóval menti, de további hozzáférést biztosít a core fájlokhoz ACL alapján, amely lehetővé teszi az olvasást a folyamatot eredetileg elindító tulajdonos azonosítója alapján.

Ez a jellemző lehetővé teszi a core fájlok betöltését függetlenül attól, hogy a program változtathatja a felhasználói azonosítóját és emelt jogokkal fut. A támadás lényege, hogy a felhasználó elindíthat egy suid alkalmazást, és SIGSEGV jelet küldhet neki, majd letöltheti a core fájl tartalmát, amely a folyamat memória állományának mintázatát tartalmazza az összeomlás időpontjában.

Például a felhasználó elindíthatja a „/usr/bin/su” programot, és egy másik terminálban megölheti annak futását a „kill -s SIGSEGV `pidof su`” paranccsal, majd a systemd-coredump elmenti a core fájlt a /var/lib/systemd/coredump könyvtárba, ahol ACL-t állít be, amely lehetővé teszi a jelenlegi felhasználó számára az olvasást. Mivel a suid eszköz ‘su’ hozzáférést olvas a /etc/shadow tartalmához, a támadó így hozzáférhet az összes felhasználó jelszó hashing információjához a rendszeren. A sudo eszköz nem támadható, mivel megakadályozza a core fájlok generálását a ulimit által.

A fejlesztők nyilatkozata szerint a systemd sebezhetősége a 247-es verzió megjelenésével kezdődött el (2020 november), de a probléma felfedezője szerint a 246-os verzió is érintett. A sebezhetőség akkor lép fel, ha a systemd a libacl könyvtárral van összeállítva (alapértelmezetten az összes népszerű disztribúcióban). A javítás egyelőre patch formájában érhető el. A disztribúciókban elérhető javítás nyomon követhető az alábbi oldalakon: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Mint ideiglenes védelmi megoldás a sysctl fs.suid_dumpable értékét 0-ra állíthatjuk, amely letiltja a systemd-coredump kezelőnek történő memória dumpok továbbítását.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster