Sårbarhet i brannfanger som gir root-tilgang til systemet

En sårbarhet (CVE-2022-31214) er identifisert i Firejail-applikasjonsisolasjonsverktøyet som lar en lokal bruker få root-rettigheter på vertssystemet. Det er en fungerende utnyttelse tilgjengelig i det offentlige domene, testet i nåværende utgivelser av openSUSE, Debian, Arch, Gentoo og Fedora med firejail-verktøyet installert. Problemet er løst i firejail 0.9.70-utgivelsen. Som en løsning for beskyttelse kan du angi parameterne "join no" og "force-nonewprivs yes" i innstillingene (/etc/firejail/firejail.config).

Firejail bruker navnerom, AppArmor og systemanropsfiltrering (seccomp-bpf) i Linux for isolasjon, men krever forhøyede privilegier for å sette opp isolert kjøring, som den får ved å binde til verktøyflagget suid root eller kjøre med sudo. Sårbarheten er forårsaket av en feil i logikken til alternativet “--join=”. ", beregnet for å koble til et allerede kjørende isolert miljø (analogt med påloggingskommandoen for et sandkassemiljø) med definisjonen av miljøet av prosessidentifikatoren som kjører i det. Under tilbakestillingsfasen for forhåndsrettigheter, bestemmer firejail privilegiene til den spesifiserte prosessen og bruker dem på den nye prosessen som er koblet til miljøet ved å bruke "-join"-alternativet.

Før du kobler til, sjekker den om den spesifiserte prosessen kjører i firejail-miljøet. Denne sjekken evaluerer tilstedeværelsen av filen /run/firejail/mnt/join. For å utnytte sårbarheten kan en angriper simulere et fiktivt, ikke-isolert firejail-miljø ved å bruke mount-navneområdet, og deretter koble til det ved å bruke «--join»-alternativet. Hvis innstillingene ikke aktiverer modusen for forbud mot anskaffelse av tilleggsprivilegier i nye prosesser (prctl NO_NEW_PRIVS), vil firejail koble brukeren til et dummy-miljø og prøve å bruke brukernavneromsinnstillingene for initprosessen (PID 1).

Som et resultat vil prosessen koblet via "firejail -join" ende opp i brukerens opprinnelige bruker-ID-navneområde med uendrede privilegier, men i et annet monteringspunktområde, fullstendig kontrollert av angriperen. En angriper kan også kjøre setuid-root-programmer i monteringspunktplassen han opprettet, noe som for eksempel gjør det mulig å endre /etc/sudoers-innstillingene eller PAM-parametrene i filhierarkiet hans og kunne utføre kommandoer med rotrettigheter ved å bruke sudo eller su verktøy.

Kilde: opennet.ru

Legg til en kommentar