Firejail'i isoleeritud rakenduste kĂ€itamiseks on tuvastatud haavatavus (CVE-2022-31214), mis vĂ”imaldab kohalikul kasutajal hankida root Ă”igused pĂ”h sĂŒsteemis. Avalikus kasutuses on töötav eksploit, mis on testitud uusimates openSUSE, Debian, Arch, Gentoo ja Fedora vĂ€ljaannetes, kus on installitud Firejail utiliit. Probleem on lahendatud Firejail versioonis 0.9.70. Kaitse vĂ”imalusena saab seadistustes (/etc/firejail/firejail.config) kasutada parameetreid âjoin noâ ja âforce-nonewprivs yesâ.
Firejail kasutab isoleerimiseks nimede ruume (namespaces), AppArmori ja sĂŒsteemikutsungite filtreerimist (seccomp-bpf) Linuxis, kuid isoleeritud kĂ€itamise seadistamiseks on vajalikud kĂ”rgendatud Ă”igused, mida saadakse lĂ€bi SUID root lipuga utiliidi sidumise vĂ”i sudo abil kĂ€ivitamise. Haavatavus on pĂ”hjustatud veast ââjoin=<PID>â valiku töölogikas, mis on mĂ”eldud juba töötavasse isoleeritud keskkonda ĂŒhendamiseks (sarnane login kĂ€sule liivakasti keskkonnas) sellega, et tuvastatakse keskkond töötava protsessi identifikaatori pĂ”hjal. Enne Ă”iguste kustutamist mÀÀratleb Firejail nĂ€idatud protsessi Ă”igused ja rakendab need uuele protsessile, mis ĂŒhendatakse keskkonnaga ââjoinâ valiku kaudu.
Enne ĂŒhendamist kontrollitakse, kas mÀÀratud protsess töötab Firejail keskkonnas. See kontroll hindab faili /run/firejail/mnt/join olemasolu. Haavatavuse rakendamiseks vĂ”ib rĂŒndaja simuleerida valeja isoleerimata Firejail keskkonda, kasutades montaaĆŸiruumi (mount namespace), ja seejĂ€rel liituda selle keskkonnaga ââjoinâ valiku kaudu. Kui seadistustes ei ole aktiveeritud uute protsesside lisapuhaste Ă”iguste keelamise reĆŸiim (prctl NO_NEW_PRIVS), liidab Firejail kasutaja vale keskkonnaga ja pĂŒĂŒab rakendada kasutaja identifikaatori ruumi (user namespace) seadistusi protsessi init (PID 1) kohta.
Tulemuseks on, et lĂ€bi âfirejail âjoinâ ĂŒhendatud protsess satub kasutaja algsesse kasutaja identifikaatori ruumi muutumatute Ă”igustega, kuid teises montaaĆŸiruumis, mis on tĂ€ielikult rĂŒndaja kontrolli all. RĂŒndaja saab kĂ€ivitada setuid-root programme loodud montaaĆŸiruumi, mis vĂ”imaldab nĂ€iteks muuta /etc/sudoers seadeid vĂ”i PAM seadeid oma failihierarhias ning saada Ă”iguse kĂ€ivitada kĂ€sklusi root Ă”igustega sudo vĂ”i su utiliitide abil.
Allikas: opennet.ru
