Snap buvo aptikti du pažeidžiamumai ir leista paleisti kodą kaip root

Qualys atidengtas naujienos, kurias identifikuoju du pažeidžiamumai (CVE-2021-44731 ir CVE-2021-44730) snap-confine programoje, išsiųstas su root SUID vėliava ir iškviestas snapd proceso, kad sugeneruotų vykdomąją aplinką programoms, platinamoms snap paketais.

Tinklaraščio įraše tai minima pažeidžiamumas leidžia neprivilegijuotam vietiniam vartotojui pasiekti kodo vykdymą kaip root sistemoje.

Pirmasis pažeidžiamumas leidžia fizinio saito manipuliavimo ataką, bet reikia išjungti sistemos kietųjų nuorodų apsaugą (sysctl fs.protected_hardlinks nustatant į 0).

Problema taip yra dėl neteisingo vykdomųjų failų vietos patikrinimo snap-update-ns ir snap-discard-ns paslaugų kurie veikia kaip root. Kelias į šiuos failus buvo apskaičiuotas naudojant sc_open_snapd_tool() funkciją, remiantis jos paties keliu iš /proc/self/exe, todėl galite sukurti tvirtą nuorodą, kuri apriboti savo katalogą, ir pasirinkti snap-update-ns ir snap. -discard-ns šiame kataloge. Paleidus iš kietosios nuorodos, snap-confine kaip root vykdys užpuoliko pakeistus snap-update-ns ir snap-discard-ns failus iš dabartinio katalogo.

Sėkmingas šio pažeidžiamumo išnaudojimas leidžia bet kuriam neprivilegijuotam vartotojui įgyti pažeidžiamo pagrindinio kompiuterio root teises. „Qualys“ saugos tyrinėtojai galėjo savarankiškai patikrinti pažeidžiamumą, sukurti išnaudojimą ir įgyti visas pagrindines teises numatytuosiuose „Ubuntu“ įrenginiuose.

Kai tik Qualys tyrimų komanda patvirtino pažeidžiamumą, mes atsakingai atskleidėme pažeidžiamumą ir bendradarbiavome su tiekėjais bei atvirojo kodo platintojais, kad praneštume apie šį naujai atrastą pažeidžiamumą.

Antrąjį pažeidžiamumą sukelia lenktynės ir gali būti naudojamas pagal numatytąją Ubuntu darbalaukio konfigūraciją. Kad išnaudojimas sėkmingai veiktų Ubuntu serveryje, diegimo metu turite pasirinkti vieną iš paketų iš skyriaus „Featured Server Snaps“.

lenktynių būklė pasireiškia funkcijoje setup_private_mount(). iškviečiama ruošiant momentinio paketo prijungimo taško vardų sritį. Ši funkcija sukuria laikiną katalogą „/tmp/snap.$SNAP_NAME/tmp“ arba naudoja esamą katalogą, kad su juo susietų ir prijungtų snap paketo katalogus.

Kadangi laikinojo katalogo pavadinimas yra nuspėjamas, užpuolikas gali pakeisti jo turinį į simbolinę nuorodą, patikrinęs savininką, bet prieš skambindamas prijungimo sistemai. Pavyzdžiui, kataloge /tmp/snap.lxd galite sukurti simbolinę nuorodą „/tmp/snap.lxd/tmp“, kuri nukreipia į savavališką katalogą, o iškvietimas mount() bus po simbolinės nuorodos, o katalogas bus įtrauktas į tarpą. vardų.

Panašiai galite prijungti jo turinį į /var/lib ir, nepaisydami /var/lib/snapd/mount/snap.snap-store.user-fstab, pasirūpinti, kad /etc katalogas būtų prijungtas prie paketo vardų srities snap, kad įkeltumėte biblioteką iš root prieigos pakeisdami /etc/ld.so.preload.

Pastebima, kad sukurti išnaudojimą pasirodė nebanali užduotis, kadangi snap-confine įrankis parašytas naudojant saugaus programavimo metodus (snapd rašomas Go, bet C naudojamas snap-confine), turi apsaugą, pagrįstą AppArmor profiliais, filtruoja sistemos skambučius pagal seccomp mechanizmą ir naudoja mount vardų erdvę dėl izoliacijos.

Tačiau mokslininkai sugebėjo parengti funkcinį išnaudojimą gauti root prieigą prie sistemos. Išnaudojimo kodas bus išleistas praėjus kelioms savaitėms po to, kai vartotojai įdiegs pateiktus naujinimus.

Galiausiai verta paminėti taiProblemos buvo išspręstos atnaujinant snapd paketą Ubuntu 21.10, 20.04 ir 18.04 versijoms.

Be kitų platinimų, kuriuose naudojamas Snap, buvo išleista Snapd 2.54.3, kuri, be minėtų problemų, pašalina dar vieną pažeidžiamumą (CVE-2021-4120), leidžiantį diegiant specialiai sukurtus papildinių paketus, nepaisyti savavališkų AppArmor taisyklių ir apeiti paketui nustatytus prieigos apribojimus.

Kakleliai nori sužinoti daugiau apie tai, galite patikrinti išsamią informaciją Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.