A firejail sebezhetősége, amely root hozzáférést tesz lehetővé a rendszerhez

Sebezhetőséget (CVE-2022-31214) azonosítottak a Firejail alkalmazásizolációs segédprogramban, amely lehetővé teszi a helyi felhasználók számára, hogy root jogosultságokat szerezzenek a gazdagépen. A közterületen elérhető egy működő exploit, amelyet az openSUSE, a Debian, az Arch, a Gentoo és a Fedora jelenlegi kiadásaiban teszteltek telepített firejail segédprogrammal. A problémát a firejail 0.9.70 kiadás javította. A védelem megoldásaként beállíthatja a „join no” és a „force-nonewprivs yes” paramétereket a beállításokban (/etc/firejail/firejail.config).

A Firejail névtereket, AppArmor-t és rendszerhívás-szűrést (seccomp-bpf) használ Linuxban az elkülönítéshez, de magasabb jogosultságokat igényel az elszigetelt végrehajtás beállításához, amelyet a suid root segédprogram-jelzőhöz való kötődéssel vagy a sudo-val történő futtatással szerez meg. A sérülékenységet a „--join=” opció logikájának hibája okozza, amely egy már futó elszigetelt környezethez való csatlakozásra szolgál (a sandbox környezet login parancsához hasonlóan), és a környezetet a benne futó folyamatazonosító. A privilégiumok visszaállítása előtti szakaszban a firejail meghatározza a megadott folyamat jogosultságait, és alkalmazza azokat az új folyamatra, amely a „-join” kapcsolóval kapcsolódik a környezethez.

Csatlakozás előtt ellenőrzi, hogy a megadott folyamat fut-e a firejail környezetben. Ez az ellenőrzés kiértékeli a /run/firejail/mnt/join fájl jelenlétét. A biztonsági rés kihasználásához a támadó egy fiktív, nem elkülönített firejail környezetet szimulálhat a mount névtér használatával, majd a „--join” opcióval csatlakozhat hozzá. Ha a beállítások nem engedélyezik a további jogosultságok megszerzésének tiltását az új folyamatokban (prctl NO_NEW_PRIVS), a firejail egy álkörnyezethez kapcsolja a felhasználót, és megpróbálja alkalmazni az init folyamat felhasználói névtér-beállításait (PID 1).

Ennek eredményeként a „firejail –join”-on keresztül összekapcsolt folyamat a felhasználó eredeti felhasználói azonosítójának névterébe kerül változatlan jogosultságokkal, de egy másik csatlakozási pont térben, amelyet teljes mértékben a támadó irányít. A támadó setuid-root programokat is végrehajthat az általa létrehozott beillesztési pont térben, ami lehetővé teszi például az /etc/sudoers beállításainak vagy a PAM paraméterek megváltoztatását a fájlhierarchiájában, és parancsok végrehajtását root jogokkal a sudo, ill. su közművek.

Forrás: opennet.ru

Hozzászólás