Sårbarhet i firejail som låter dig få root-åtkomst till systemet

En sårbarhet (CVE-2022-31214) har identifierats i Firejail-applikationsisoleringsverktyget som gör det möjligt för en lokal användare att få root-privilegier på värdsystemet. Det finns en fungerande exploatering tillgänglig i det offentliga området, testad i nuvarande utgåvor av openSUSE, Debian, Arch, Gentoo och Fedora med Firejail-verktyget installerat. Problemet är åtgärdat i firejail 0.9.70 release. Som en lösning för skydd kan du ställa in parametrarna "join no" och "force-nonewprivs yes" i inställningarna (/etc/firejail/firejail.config).

Firejail använder namnutrymmen, AppArmor och systemanropsfiltrering (seccomp-bpf) i Linux för isolering, men kräver förhöjda privilegier för att ställa in isolerad körning, som den får genom att binda till verktygsflaggan suid root eller köra med sudo. Sårbarheten orsakas av ett fel i logiken för alternativet "--join=", avsett för att ansluta till en redan körande isolerad miljö (analogt med inloggningskommandot för en sandlådemiljö) där miljön bestäms av process-ID som körs i den. Under förhandsåterställningsfasen bestämmer firejail privilegierna för den angivna processen och tillämpar dem på den nya processen som är ansluten till miljön med alternativet "-join".

Innan du ansluter kontrollerar den om den angivna processen körs i firejail-miljön. Denna kontroll utvärderar närvaron av filen /run/firejail/mnt/join. För att utnyttja sårbarheten kan en angripare simulera en fiktiv, icke-isolerad firejail-miljö med hjälp av namnutrymmet mount och sedan ansluta till det med alternativet "--join". Om inställningarna inte aktiverar läget för att förbjuda förvärv av ytterligare privilegier i nya processer (prctl NO_NEW_PRIVS), kommer firejail att ansluta användaren till en dummymiljö och försöka tillämpa användarnamnutrymmesinställningarna för initprocessen (PID 1).

Som ett resultat kommer processen kopplad via "firejail -join" att hamna i användarens ursprungliga användar-ID-namnområde med oförändrade privilegier, men i ett annat monteringspunktsutrymme, helt kontrollerat av angriparen. En angripare kan också köra setuid-root-program i monteringspunktsutrymmet han skapade, vilket till exempel tillåter att ändra /etc/sudoers-inställningarna eller PAM-parametrarna i sin filhierarki och kunna köra kommandon med roträttigheter med hjälp av sudo eller su verktyg.

Källa: opennet.ru

Lägg en kommentar