Sebezhetőségek a PAM-ban és a libblockdev-ben, amelyek lehetővé teszik a root jogosultságok megszerzését a rendszerben

A Qualys cég felfedezett egy sebezhetőséget (CVE-2025-6019) a libblockdev könyvtárban, amely lehetővé teszi, hogy a háttérfolyamat udisks manipulálásával root jogosultságokat szerezzünk a rendszeren. Az exploit prototípusának működését az Ubuntu, Debian, Fedora és openSUSE Leap 15 környezetében démontrálták.

Az udisks folyamatot gyakorlatilag minden Linux disztribúcióban alkalmazzák, és D-Bus interfészt biztosít a tárolók kezelésére, például csatlakoztatásra és formázásra. Az udisks a libblockdev könyvtár funkcióit hívja meg a tárolók műveleteinek végrehajtásához. Az udisks-hez való hozzáférés alapértelmezetten csak az «allow_active» kontextusban dolgozó felhasználók számára nyitott, azaz akik fizikailag hozzáférnek a számítógéphez, és helyi konzolon csatlakoznak vagy grafikus munkamenetet indítanak. A távolról csatlakozó felhasználók, például SSH-n keresztül, nem kerülnek ebbe a kontextusba, és közvetlenül nem tudják kihasználni a sebezhetőséget.

E korlátozás megkerülésére egy trükk használható, amely lehetővé teszi az authentikációs szint emelését «allow_active» szintre a systemctl felhasználói szolgáltatás indításának manipulálásával, amelyet a polkitd helyi munkamenetként értékel. A módszer lényege, hogy a polkitd a fizikai hozzáférés meglétét határozza meg, és az «allow_active» szintet közvetett jelek alapján rendeli hozzá, amelyeken lehet befolyásolni. A módszer korlátozásai közé tartozik, hogy a polkitd becsapásához a rendszeren már egy helyi felhasználói munkamenetnek aktívnak kell lennie, amely fizikailag hozzáfér a géphez.

A «allow_active» jogosultság megszerzésének második módszere egy sebezhetőség (CVE-2025-6018) kihasználása a PAM (Pluggable Authentication Modules) rendszerében, amelyet a Qualys kutatói fedeztek fel a libblockdev sebezhetőségének elemzése során. A sebezhetőség lehetővé teszi bármely felhasználó, beleértve az SSH-n keresztül csatlakozókat is, hogy műveleteket hajtsanak végre «allow_active» kontextusban. A probléma specifikus az openSUSE Leap 15 és a SUSE Linux Enterprise 15 PAM beállításaira, és kizárólag ezekben a disztribúciókban jelentkezik.

A pam_env modul az openSUSE és a SUSE esetében alapértelmezettként engedélyezi a ~/.pam_environment fájl olvasását. Ezen a fájlon keresztül a felhasználó beállíthatja az XDG_SEAT=seat0 és XDG_VTNR=1 környezeti változókat, amelyek későbbi feldolgozása során a felhasználó fizikai jelenlétének jeleként lesznek értelmezve, még akkor is, ha a bejelentkezés ténylegesen SSH-n keresztül történt. A pam_env modul SSH kapcsolódáskor is meghívásra kerül Debian 12 és Ubuntu 24.04 esetében (Debian 13 és Ubuntu 24.10+ esetén pedig le van tiltva), de a környezeti változók beállítása ezeken a disztribúciókon nem használható a hozzáférési szint

A libblockdev sebezhetőségével kapcsolatban a támadó képes egy önkényes fájlrendszer képét loop-módban csatolni, egy SUID root zászlóval rendelkező végrehajtható fájlt vagy speciális eszközt (/dev/mem) elhelyezve ebben a képben, hogy alacsony szintű hozzáférést nyerjen a lemezekhez vagy a memóriához. Az ilyen típusú támadások blokkolására a fájlrendszer képeket a rendszer nosuid és nodev zászlókkal csatolja, de a libblockdev sebezhetősége lehetővé teszi a kép csatolását nosuid és nodev zászlók nélkül. A sebezhetőség lényege, hogy az udisks lehetővé teszi a „allow_active” hozzáférési szinttel rendelkező felhasználó számára, hogy megváltoztassa a fájlrendszerei méretét, és a libblockdev ezen művelet végrehajtása során ideiglenesen csatolja a fájlrendszert nosuid és nodev zászlók beállítása nélkül.

Így a támadás arra redukálódik, hogy loop-eszközt hozzunk létre egy XFS fájlrendszer kép alapján, amelyben egy suid root fájl található, elindítsuk a loop-eszköz méretének megváltoztatását, és nyomon kövessük a csatolásának pillanatát a /tmp/blockdev* mappába: victim> killall -KILL gvfs-udisks2-volume-monitor victim> udisksctl loop-setup —file ./xfs.image —no-user-interaction A mapped file ./xfs.image as /dev/loop0. victim> while true; do /tmp/blockdev*/bash -c 'sleep 10; ls -l /tmp/blockdev*/bash' && break; done 2>/dev/null & victim> gdbus call —system —dest org.freedesktop.UDisks2 —object-path /org/freedesktop/UDisks2/block_devices/loop0 —method org.freedesktop.UDisks2.Filesystem.Resize 0 '{}' Hiba: GDBus.Error:org.freedesktop.UDisks2.Error.Failed: Hiba a fájlrendszer átméretezésekor a /dev/loop0-n: A /dev/loop0 leállítása sikertelen az átméretezés után: a cél foglalt -r-sr-xr-x. 1 root root 1406608 Jun 18 09:42 /tmp/blockdev.RSM429/bash victim> /tmp/blockdev*/bash -p victim# id uid=65534(nobody) gid=65534(nobody) euid=0(root) groups=65534(nobody)

A libblockdev sebezhetőséget eddig csak javítócsomagok formájában orvosolták. Az új csomagverzió állapotát vagy a hibajavítás előkészítését az alábbi oldalakon ellenőrizheti (ha az oldal nem elérhető, a disztribúció fejlesztői még nem kezdtek hozzá a probléma megvizsgálásához): Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo és Arch (1, 2). A sebezhetőség megkerülésének egyik módja a „org.freedesktop.udisks2.modify-device” művelethez való hozzáférési szabály módosítása a polkitben, amely a /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy fájlban az „allow_active” paraméter értékét „yes”-ről „auth_admin”-ra változtatja.

Kiemelhető, hogy néhány órával ezelőtt felfedezett sebezhetőség (CVE-2025-6020) a linux-pam csomagban lehetővé teszi, hogy a helyi felhasználó root jogokat szerezzen. A pam_namespace modul nem ellenőrizte megfelelően a felhasználó által ellenőrzött fájlútvonalakat, így a szimbolikus hivatkozások manipulálásával és versenyállapot elérésével lehetőség nyílt privilegizált fájlok felülírására a rendszeren. A sebezhetőséget a linux-pam 1.7.1-es kiadásában orvosolták. Az új csomagverzió állapotát vagy a hibajavítás előkészítését az alábbi oldalakon ellenőrizheti: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo és Arch (1, 2).

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