I verktyget för isolerad körning av applikationer Firejail har en sÄrbarhet identifierats (CVE-2022-31214), som möjliggör för en lokal anvÀndare att erhÄlla root-rÀttigheter i det primÀra systemet. Det finns en fungerande exploit offentlig tillgÀnglig, testad pÄ aktuella versioner av openSUSE, Debian, Arch, Gentoo och Fedora med den installerade Firejail-verktyget. Problemet har ÄtgÀrdats i versionen Firejail 0.9.70. Som en tillfÀllig skyddsÄtgÀrd kan instÀllningarna i (\/etc\/firejail\/firejail.config) stÀllas in med alternativen "join no" och "force-nonewprivs yes."
Firejail anvĂ€nder namespaces, AppArmor och filtrering av systemanrop (seccomp-bpf) i Linux för isolering, men för att konfigurera isolerad körning krĂ€vs högre privilegier, som erhĂ„lls genom bindning till verktyget med suid root-flaggan eller genom att köra det med sudo. SĂ„rbarheten uppstĂ„r pĂ„ grund av ett logiskt fel i funktionen "âjoin=", som Ă€r avsedd för att ansluta till en redan existerande isolerad miljö (motsvarande logginstruktionen för sandbox-miljöer) med bestĂ€mning av miljön baserat pĂ„ det körande processens identifierare. Innan privilegierna Ă„terstĂ€lls definierar Firejail privilegierna för den angivna processen och tillĂ€mpar dessa pĂ„ den nya processen som ansluts till miljön via alternativet "âjoin."
Innan anslutning kontrolleras om den angivna processen körs i Firejail-miljön. Denna kontroll utvĂ€rderar förekomsten av filen \/run\/firejail\/mnt\/join. För att exploatera sĂ„rbarheten kan angriparen simulera en fiktiv, icke-isolerad Firejail-miljö, genom att anvĂ€nda en mount namespace, och dĂ€refter ansluta till den med alternativet "âjoin." Om instĂ€llningarna inte har aktiverat lĂ€get för att förhindra erhĂ„llande av ytterligare privilegier i nya processer (prctl NO_NEW_PRIVS), kommer Firejail att ansluta anvĂ€ndaren till den fiktiva miljön och försöka tillĂ€mpa instĂ€llningarna för anvĂ€ndarnamnens namespaces frĂ„n init-processen (PID 1).
Som en följd av detta kommer processen som kopplas genom «firejail âjoin» att befinna sig i anvĂ€ndarens ursprungliga namnrymd för anvĂ€ndaridentifierare med oförĂ€ndrade privilegier, men i en annan monteringspunkt som helt kontrolleras av angriparen. Angriparen kan Ă€ven köra setuid-root-program inom den skapade monteringspunkten, vilket till exempel möjliggör att Ă€ndra instĂ€llningarna i /etc/sudoers eller PAM-parametrar i sin filhierarki och fĂ„ möjlighet att köra kommandon med root-rĂ€ttigheter via verktygen sudo eller su.
KĂ€lla: opennet.ru
