Sårbarhed i firejail, der tillader root-adgang til systemet

En sårbarhed (CVE-2022-31214) er blevet identificeret i Firejail Application Sandboxing Tool, som kan tillade en lokal bruger at blive root på værtssystemet. Der er en fungerende udnyttelse i det offentlige domæne, testet i aktuelle udgivelser af openSUSE, Debian, Arch, Gentoo og Fedora med firejail-værktøjet installeret. Problemet er blevet rettet i udgivelsen af ​​firejail 0.9.70. Som en løsning til beskyttelse kan du indstille parametrene "join no" og "force-nonewprivs yes" i indstillingerne (/etc/firejail/firejail.config).

Firejail bruger navnerumsmekanismen, AppArmor og systemopkaldsfiltrering (seccomp-bpf) på Linux til isolering, men kræver forhøjede privilegier for at opsætte en isoleret lancering, som den opnår ved at linke til suid root-flagværktøjet eller køre med sudo. Sårbarheden er forårsaget af en fejl i logikken i "--join="-indstillingen. ”, designet til at oprette forbindelse til et allerede kørende isoleret miljø (analogt med login-kommandoen for et sandbox-miljø) med definitionen af ​​miljøet af proces-id'et, der kører i det. Inden privilegier droppes, registrerer firejail privilegierne for den specificerede proces og anvender dem på den nye proces, der forbinder miljøet med "--join"-indstillingen.

Før der oprettes forbindelse, tjekker den, om den angivne proces kører i firejail-miljøet. Denne kontrol evaluerer eksistensen af ​​filen /run/firejail/mnt/join. For at udnytte sårbarheden kan en angriber simulere et fiktivt ikke-isoleret firejail-miljø ved hjælp af mount-navneområdet og derefter oprette forbindelse til det ved hjælp af "-join"-indstillingen. Hvis indstillingerne ikke muliggør forbuddet mod at opnå yderligere privilegier i nye processer (prctl NO_NEW_PRIVS), vil firejail forbinde brugeren til et fiktivt miljø og forsøge at anvende indstillingerne for brugernavneområdet for brugeridentifikatorerne (brugernavneområdet) i init proces (PID 1).

Som et resultat vil processen forbundet via "firejail --join" ende i brugerens originale bruger-id-navneområde med uændrede privilegier, men i et andet monteringspunktområde, fuldstændig kontrolleret af angriberen. Blandt andet kan angriberen udføre setuid-root-programmer i det monteringspunktrum, han oprettede, hvilket for eksempel tillader at ændre /etc/sudoers-indstillinger eller PAM-parametre i sit filhierarki og få mulighed for at udføre kommandoer som root ved hjælp af sudo eller su hjælpeprogrammer.

Kilde: opennet.ru

Tilføj en kommentar