Nad avastasid firejailis haavatavuse, mis võimaldas juurjuurdepääsu süsteemile

Hiljuti avaldasid nad uudise, et tuvastati haavatavus (juba loetletud CVE-2022-31214 all) Firejaili rakenduse liivakastitööriistas, on üksikasjalikult kirjeldatud, et tuvastatud viga võib võimaldada kohalikul kasutajal saada hostsüsteemi juurkasutajaks.

Firejail kasutab Linuxis isoleerimiseks nimeruumide mehhanismi, AppArmor ja süsteemikõnede filtreerimist (seccomp-bpf), kuid nõuab isoleeritud väljalaske konfigureerimiseks kõrgemaid õigusi, mille ta saab sidudes suid juurlipu utiliidiga või käivitades sudoga.

Haavatavuse põhjuseks on suvandi „–join=” loogika viga », loodud ühenduse loomiseks eraldatud keskkonnaga, mis juba töötab (sarnaselt liivakastikeskkonna sisselogimiskäsuga) keskkonnaga, mis on määratletud selles töötava protsessi ID-ga. Käivitamiseelses etapis tuvastab firejail määratud protsessi õigused ja rakendab need uuele protsessile, mis ühendab keskkonda valikuga „–join”.

Enne ühendamist, kontrollib, kas määratud protsess töötab firejaili keskkonnas. See kontroll hindab faili /run/firejail/mnt/join olemasolu. Haavatavuse ärakasutamiseks ründaja saab simuleerida fiktiivset isoleerimata tulekahjujaili keskkonda kasutades mount nimeruumi ja seejärel sellega ühenduse loomiseks, kasutades suvandit „–join”.

Kui konfiguratsioon ei luba uutes protsessides lisaõiguste hankimise keelamise režiimi (prctl NO_NEW_PRIVS), ühendab firejail kasutaja fiktiivse keskkonnaga ja proovib rakendada init-protsessi kasutajatunnuste (nimeruumi kasutaja) kasutajanimeruumi konfiguratsiooni ( PID 1).

Suurem osa liitumisfunktsiooni loogikast on lähtekoodis failist src/firejail/join.c. Koodi kriitilised osad käivitatakse koos kõrgendatud õigused (kehtiv UID 0). Käsuna edastatud protsessi ID reaargumenti kontrollitakse, et teha kindlaks, kas see on rkonteiner ja määrake mõned selle omadused, mis See kehtib ka uue sisenemisprotsessi kohta.

Peamised kriteeriumid sihtprotsessiga liitumise üle otsustamisel õnnestub on faili olemasolu sihtmärgi mount nimeruumis, protsess leiti failist /run/firejail/mnt/join. See kontroll tehakse ffunktsioon "on_ready_for_join()". Fail avatakse kasutades lLipud "O_RDONLY|O_CLOEXEC" ja jälje "fstat()" peaksid vastama järgmistele nõuetele:

– fail peab olema tavaline fail.
– fail peab kuuluma kasutajatunnusele 0 (algkasutaja järgi
nimeruum).
– faili suurus peab olema 1 bait.

Selle tulemusena "firejail --join" kaudu ühendatud protsess jõuab nimeruumi kasutaja algne kasutajatunnus muutmata privileegidega, kuid teises kinnituspunktis, mida ründaja täielikult kontrollib.

Saadud "liitunud" kest jääb nüüd algkasutaja juurde
nimeruum, säilitades siiski algsed tavakasutaja õigused mounti nimeruum on see, mida ründaja juhib. Nagu
nonewprivsi konfiguratsiooni pole rakendatud, saab ründaja nüüd seda teha
käivitage selles mounti nimeruumis setuid-root programme

Eelkõige saab ründaja käivitada setuid-root programme enda loodud ühenduspunkti ruumis, võimaldades tal näiteks muuta /etc/sudoers konfiguratsiooni või PAM-i parameetreid oma failihierarhias ja omandada võime käivitada käske root kasutajana. kasutades sudo või selle utiliite.

Lõpetuseks väärib mainimist, et välja on töötatud funktsionaalne ärakasutamine, mida on testitud OpenSUSE, Debiani, Archi, Gentoo ja Fedora praegustes versioonides koos installitud utiliidiga Firejail.

Probleem lahendati Firejaili versioonis 0.9.70. Turvaparandusena saate seada konfiguratsiooniks (/etc/firejail/firejail.config) "no join" ja "force-nonewprivs yes".

Lõpuks kui olete huvitatud sellest rohkem teada saama, saate üksikasju vaadata järgmine link.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.