Zraniteľnosť v firejail, ktorá umožňuje získať root prístup v systéme

V utilite na izolované vykonávanie aplikácií Firejail bola zistená zraniteľnosť (CVE-2022-31214), ktorá umožňuje lokálnemu používateľovi získať práva root v hlavnom systéme. V otvorenom prístupe je k dispozícii funkčný exploit, overený v aktuálnych vydaniach openSUSE, Debian, Arch, Gentoo a Fedora s nainštalovanou utilitou firejail. Problém bol odstránený vo vydaní firejail 0.9.70. Ako obchádzajúcu ochranu je možné nastaviť v konfigurácii (\/etc\/firejail\/firejail.config) parametre "join no" a "force-nonewprivs yes".

Firejail na izoláciu využíva mechanizmus priestorov mien (namespaces), AppArmor a filtrovanie systémových volaní (seccomp-bpf) v Linuxe, ale na nastavenie izolovaného spustenia vyžaduje zvýšené privilégiá, ktoré získa prostredníctvom priradenia k utilite s flagom suid root alebo spustením pomocou sudo. Zraniteľnosť je spôsobená chybou v logike funkcie "--join=<PID>", určenou na pripojenie k už pracujúcemu izolovanému prostrediu (analóg príkazu login pre sandboxové prostredie) s určením prostredia podľa fungujúceho identifikátora procesu. V štádiu pred zrušením privilégií firejail určuje privilégia uvedeného procesu a aplikuje ich na nový proces, ktorý sa pripája k prostrediu pomocou funkcie "--join".

Pred pripojením sa vykonáva kontrola, či je uvedený proces spustený v prostredí firejail. Táto kontrola hodnotí prítomnosť súboru \/run\/firejail\/mnt\/join. Na zneužitie zraniteľnosti môže útočník simulovať fiktívne neizolované prostredie firejail, využívajúc priestor bodov pripojenia (mount namespace), po čom sa k nemu môže pripojiť pomocou funkcie "--join". Ak v nastaveniach nie je aktivovaný režim zákazu získania ďalších privilégií v nových procesoch (prctl NO_NEW_PRIVS), firejail pripojí používateľa k fiktívnemu prostrediu a pokúsi sa aplikovať nastavenia priestoru mien identifikátorov používateľov (user namespace) procesu init (PID 1).

Pripojený proces cez „firejail —join“ sa ocitne v pôvodnom používateľskom mennom priestore s nezmenenými privilégiami, no v inom montážnom priestore, ktorý je úplne pod kontrolou útočníka. Útočník môže vykonávať programy so setuid-root v vytvorenom montážnom priestore, čo mu umožňuje napríklad zmeniť nastavenia /etc/sudoers alebo parametre PAM vo svojej súborovej hierarchii a získať možnosť vykonávať príkazy s právami roota pomocou utilít sudo alebo su.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster