Jie rado „Linux“ VFS pažeidžiamumą, leidžiantį išplėsti privilegijas

Prieš kelias dienas buvo paskelbta žinia, kad buvo nustatytas pažeidžiamumas (jau kataloguota CVE-2022-0185) irn failų sistemos konteksto API pateikė „Linux“ branduolys kuris gali leisti vietiniam vartotojui įgyti sistemos root teises.

Minima, kad problema ta, kad neprivilegijuotas vartotojas gali gauti tokius leidimus izoliuotame konteineryje jei sistemoje įjungtas vartotojų vardų erdvių palaikymas.

Pavyzdžiui, pagal numatytuosius nustatymus naudotojų vardų erdvės įjungtos Ubuntu ir Fedora, bet neįjungtos Debian ir RHEL (nebent naudojamos konteinerių izoliavimo platformos). Be privilegijų padidinimo, pažeidžiamumas taip pat gali būti naudojamas norint išeiti iš izoliuoto konteinerio, jei konteineris turi CAP_SYS_ADMIN teisę.

Pažeidžiamumas egzistuoja VFS funkcijoje legacy_parse_param(). ir dėl to, kad failų sistemose, kurios nepalaiko failų sistemos konteksto API, trūksta tinkamo maksimalaus pateiktų parametrų dydžio patvirtinimo.

Neseniai keli mano CTF Crusaders of Rust komandos draugai ir aš susidūrėme su 0 dienų Linux branduolio krūvos perpildymu. Mes nustatėme klaidą naudodami „syzkaller“ ir greitai išplėtėme ją į Ubuntu LPE išnaudojimą. Tada perrašėme, kad pabėgtume ir pašalintume „Google“ sustiprintą Kubernetes CTF infrastruktūrą. Ši klaida paveikia visas branduolio versijas nuo 5.1 (šiuo metu vykdoma 5.16) ir jai priskirta CVE-2022-0185. Jau pranešėme apie tai „Linux“ platinimo ir saugos adresų sąrašui, o klaida buvo ištaisyta nuo šio straipsnio išleidimo.

Per didelis parametras gali sukelti perpildymą sveikojo skaičiaus kintamojo, naudojamo apskaičiuojant rašomų duomenų dydį; kodas turi "if (len > PAGE_SIZE - 2 - size)" buferio perpildymo patikrinimą, kuris neveikia, jei dydžio reikšmė yra didesnė nei 4094 dėl sveikojo skaičiaus perpildymo per apatinę ribą (sveiko skaičiaus perpildymas, konvertuojant 4096 – 2 – 4095 į nepasirašytą int, gauna 2147483648).

Ši klaida leidžia pasiekti specialiai sukurtą FS vaizdą, sukelti buferio perpildymą ir perrašyti branduolio duomenis po paskirtos atminties srities. Norint išnaudoti pažeidžiamumą, reikalingos CAP_SYS_ADMIN teisės, ty administratoriaus teisės.

Nuo 2022 m. mūsų komandos draugai nusprendė rasti 0 dieną 2022 m. Nebuvome visiškai tikri, nuo ko pradėti, bet kadangi mūsų komanda buvo gerai susipažinusi su Linux branduolio pažeidžiamumu, nusprendėme tiesiog nusipirkti keletą tam skirtų serverių. ir paleiskite Google Syzkaller Fuzzer. Sausio 6 d. 22 val. PST chop30 gavo šį pranešimą apie KASAN gedimą legacy_parse_param: slab-out-of-bounds Įrašykite legacy_parse_param. Atrodo, kad syzbot šią problemą aptiko tik 0 dienomis anksčiau, kai sumaišė Android, tačiau problema nebuvo išspręsta ir naiviai manėme, kad niekas kitas nepastebėjo.

Galiausiai verta paminėti, kad problema reiškėsi nuo Linux branduolio 5.1 versijos ir buvo išspręsta prieš kelias dienas išleistuose atnaujinimuose 5.16.2, 5.15.16, 5.10.93, 5.4.173 versijose.

neskaitant to pažeidžiamumo paketo naujinimai jau buvo išleisti punktas RHELdebianfedora ir ubuntu. Nors sprendimas dar nepasiekiamas Arch Linux"Gentoo"SUSA y „openSUSE“.

Šių atveju minima, kad kaip saugumo sprendimas sistemoms, kurios nenaudoja konteinerio izoliavimo, galite nustatyti sysctl "user.max_user_namespaces" reikšmę į 0:

Problemą nustatęs mokslininkas paskelbė išnaudojimo demonstracinė versija que leidžia paleisti kodą kaip root Ubuntu 20.04 pagal numatytąją konfigūraciją. Planuojama, kad išnaudojimo kodas paskelbiamas GitHub per savaitę po to kad platinimai išleidžia naujinimą, kuris pašalina pažeidžiamumą.

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. Už duomenis atsakingas: AB Internet Networks 2008 SL
  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ą.

  1.   Galisų sakė

    Dar viena priežastis neliesti spragtelėjimo lazda.