Jie rado cgroups v1 pažeidžiamumą, leidžiantį išeiti iš izoliuoto konteinerio

Prieš kelias dienas buvo paskelbta žinia buvo atskleistos detalės pažeidžiamumas kad buvo rasta įgyvendinant mechanizmą išteklių apribojimas cgroup v1 Linux branduolyje, kuris jau kataloguotas CVE-2022-0492.

Šis pažeidžiamumas aptiktas se gali būti naudojamas norint išeiti iš izoliuotų konteinerių ir išsamiai nurodoma, kad problema egzistuoja nuo Linux branduolio 2.6.24 versijos.

Tinklaraščio įraše tai minima pažeidžiamumas atsirado dėl loginės klaidos release_agent failų tvarkyklėje, todėl tinkami patikrinimai nebuvo atlikti, kai vairuotojas buvo paleistas su visais leidimais.

Failas release_agent naudojamas branduolio vykdomai programai apibrėžti kai procesas baigiasi cgrupe. Ši programa veikia kaip root su visomis šakninės vardų erdvės „galimybėmis“. Tik administratorius turėjo turėti prieigą prie release_agent konfigūracijos, tačiau iš tikrųjų patikrinimai apsiribojo prieigos suteikimu pagrindiniam vartotojui, o tai netrukdė pakeisti konfigūracijos iš konteinerio arba neadministravimo pagrindinio vartotojo (CAP_SYS_ADMIN ) .

anksčiau, ši funkcija nebūtų suvokta kaip pažeidžiamumas, tačiau situacija pasikeitė atsiradus vartotojo identifikatorių vardų erdvėms (vartotojo vardų erdvėms), kurios leidžia sukurti atskirus root vartotojus konteineriuose, kurie nesutampa su pagrindinės aplinkos root vartotoju.

Taigi, atakai užtenka konteineryje, kuris turi savo root naudotoją atskiroje vartotojo ID erdvėje, kad prijungtumėte savo release_agent tvarkyklę, kuri, kai procesas bus baigtas, veiks su visomis pagrindinės aplinkos privilegijomis.

Pagal numatytuosius nustatymus cgroupfs yra įtrauktas į tik skaitomą konteinerį, tačiau nėra jokių problemų iš naujo prijungti šį pseudofą rašymo režimu su CAP_SYS_ADMIN teisėmis arba sukuriant įdėtą konteinerį su atskira vartotojo vardų erdve, naudojant sistemos kvietimą sustabdyti bendrinimą, kuriame CAP_SYS_ADMIN teisės yra prieinami sukurtam konteineriui.

Ataka Tai galima padaryti turint root teises izoliuotame konteineryje arba paleisdami konteinerį be no_new_priv vėliavėlės, kuri draudžia įgyti papildomų privilegijų.

Sistema turi turėti įjungtą vardų erdvių palaikymą vartotojas (įgalintas pagal numatytuosius nustatymus Ubuntu ir Fedora, bet neįjungtas Debian ir RHEL) ir turi prieigą prie root v1 cgroup (pavyzdžiui, Docker paleidžia konteinerius RDMA šakninėje cgrupėje). Ataka taip pat galima su CAP_SYS_ADMIN privilegijomis, tokiu atveju vartotojo vardų erdvių palaikymas ir prieiga prie cgroup v1 šakninės hierarchijos nereikalinga.

Pažeidžiamumas ne tik leidžia išeiti iš izoliuoto konteinerio, bet ir leidžia procesus, kuriuos paleidžia pagrindinis vartotojas be „galimybės“ arba bet kuris vartotojas, turintis CAP_DAC_OVERRIDE teises (atakai reikia prieigos prie /sys/fs/cgroup/*/release_agent failo, priklausančio root), kad gautumėte prieigą prie visų sistemos „galimybių“.

Be konteinerių, pažeidžiamumas taip pat gali leisti šakniniams prieglobos procesams be galimybių arba ne šakniniams prieglobos procesams su CAP_DAC_OVERRIDE galimybe išplėsti privilegijas iki visų galimybių. Tai gali leisti užpuolikams apeiti tam tikrų paslaugų naudojamą griežtinimo priemonę, kuri pašalina galimybes ir bando apriboti poveikį, jei įvyktų kompromisas.

42 skyrius rekomenduoja vartotojams atnaujinti į fiksuotą branduolio versiją. Jei naudojate konteinerius, įgalinkite „Seccomp“ ir įsitikinkite, kad įjungtas „AppArmor“ arba „SELinux“. „Prisma Cloud“ naudotojai gali peržiūrėti skyrių „Prisma Cloud Protections“, kad pamatytumėte „Prisma Cloud“ teikiamas švelninimo priemones.

Atkreipkite dėmesį, kad pažeidžiamumo negalima išnaudoti naudojant Seccomp, AppArmor ar SELinux apsaugos mechanizmus papildomam konteinerio izoliavimui, nes Seccomp blokuoja unshare() sistemos iškvietimą, o AppArmor ir SELinux neleidžia įrašyti cgroupfs rašymo režimu.

Galiausiai verta paminėti, kad jis buvo ištaisytas 5.16.12, 5.15.26, 5.10.97, 5.4.177, 4.19.229, 4.14.266 ir 4.9.301 branduolio versijose. Galite stebėti paketų naujinimų išleidimą paskirstymuose šiuose puslapiuose: debianSUSAubuntuRHELMinkšta fetrinė skrybėlė"Gentoo"Arch Linux.

Pagaliau jei norite sužinoti daugiau apie tai, išsamią informaciją galite patikrinti sekanti nuoroda.


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ą.