Simon McVittie je predstavil pred kratkim ki je odkrila ranljivost (CVE-2021-21261) to omogoča izogibanje izoliranosti izoliranega prostora in zaženite poljubno kodo v gostiteljskem sistemskem okolju v pripomočku za uvajanje in upravljanje paketov Flatpak.
Ranljivost je prisoten v storitvi D-Bus flatpak-portal (flatpak-portal znan tudi pod imenom storitve D-Bus org.freedesktop.portal.Flatpak), ki omogoča zagon "portalov", ki se uporabljajo za organizacijo dostopa do virov zunaj vsebnika.
O razsodbi
In to je, da ranljivost kot taka ni, saj je posledica delovanja storitve "Flatpak-portal" aplikacijam v peskovniku omogoča, da začnejo svoj podrejeni postopek v novem okolju peskovnika, za katerega se uporabljajo enake ali močnejše nastavitve izolacije (na primer za obdelavo nezaupljive vsebine).
Ranljivost se izkorišča, saj posreduje spremenljivke okolja, specifične za klicni postopek, neizoliranim krmilnikom iz gostiteljskega sistema (na primer z zagonom ukaza «runpak tek«). Zlonamerna aplikacija lahko izpostavi spremenljivke okolja, ki vplivajo na izvajanje flatpak-a, in izvede katero koli kodo na strani gostitelja.
Storitev pomoči flatpak-session (org.freedesktop.flatpakal ki dostopa flatpak-drst –host) je namenjen zagotavljanju označenih vlog predvsem možnost izvajanja poljubne kode v gostiteljskem sistemu, torej ni ranljivost, da se zanaša tudi na spremenljivke okolja, ki so mu na voljo.
Odobritev dostopa do storitve org.freedesktop.Flatpak pomeni, da je aplikacija zaupanja vredna in lahko zakonito izvaja poljubno kodo zunaj peskovnika. Tako je na primer integrirano razvojno okolje GNOME Builder označeno kot zaupanja vredno.
Storitev D-Bus portala Flatpak omogoča aplikacijam v peskovniku Flatpak, da zaženejo lastne niti v nov peskovnik, bodisi z enakimi varnostnimi nastavitvami kot klicatelj ali z bolj restriktivnimi varnostnimi nastavitvami.
Primer tega, je omenjeno, da je v spletnih brskalnikih, zapakiranih z Flatpak kot Chromium, za zagon niti ki bo obdelal nezaupljivo spletno vsebino in tem nitam dal bolj omejen peskovnik kot sam brskalnik.
V ranljivih različicah portalska storitev Flatpak posreduje spremenljivke okolja, ki jih je določil kličoči, v neobdelane procese v gostiteljskem sistemu in še posebej v ukaz za zagon flatpak, ki se uporablja za zagon novega primerka peskovnika.
Zlonamerna ali ogrožena aplikacija Flatpak lahko nastavi spremenljivke okolja, ki jim zaupa ukaz flatpak run, in jih uporabi za izvajanje poljubne kode, ki ni v peskovniku.
Ne smemo pozabiti, da mnogi razvijalci flatpak onemogočijo način izolacije ali omogočijo popoln dostop do domačega imenika.
Na primer, paketi GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity in VLC imajo omejen način izolacije. Če so paketi z dostopom do domačega imenika ogroženi, kljub prisotnosti oznake «sandboxed»V opisu paketa mora napadalec spremeniti datoteko ~ / .bashrc za izvajanje svoje kode.
Ločeno vprašanje je nadzor nad spremembami paketov in zaupanje v ustvarjalce paketov, ki pogosto niso povezani z glavnim projektom ali distribucijami.
Rešitev
Omenjeno je, da je bila težava odpravljena v različicah Flatpak 1.10.0 in 1.8.5, kasneje pa se je v reviziji pojavila regresivna sprememba, ki je povzročila težave s prevajanjem v sistemih s podporo za oblačenje z mehurčki z zastavico setuid.
Po tem je bila omenjena regresija popravljena v različici 1.10.1 (medtem ko posodobitev za vejo 1.8.x še ni na voljo).
Končno če vas zanima več o tem O poročilu o ranljivosti lahko preverite podrobnosti V naslednji povezavi.