Aptikta „Linux“ šiukšlių rinktuvo klaida, dėl kurios gali padidėti privilegijos 

sistemos pažeidžiamumas

Prieš kelias dienas Jannas Hornas iš „Google Project Zero“ komandos, kurie anksčiau nustatė Spectre ir Meltdown pažeidžiamumą, pristatė pažeidžiamumo išnaudojimo techniką rasta Linux branduolio šiukšlių rinkiklyje (CVE-2021-4083).

Pažeidžiamumas sukelia rasinė būklė kai išvalomi unix socket failų aprašai ir galbūt leidžia neprivilegijuotam vietiniam vartotojui vykdyti jūsų kodą branduolio lygiu.

Problema įdomu, nes laiko langas kurio metu atsiranda lenktynių būklė buvo įvertintas kaip per mažas sukurti tikrus pažeidžiamumus, tačiau tyrimo autorius parodė, kad net ir iš pradžių skeptiški pažeidžiamumai gali tapti realių atakų šaltiniu, jei pažeidžiamumo kūrėjas turės reikiamų įgūdžių ir laiko.

Janas Hornas parodė, kaip filigraninėmis manipuliacijomis galima sumažinti būklę Lenktynių įvykis, kuris įvyksta, kai tuo pačiu metu iškviečiamos funkcijos close() ir fget() į visiškai išnaudotą naudojimo po nemokamo pažeidžiamumą ir gaunama prieiga prie jau atlaisvintos branduolio duomenų struktūros.

Susidaro lenktynių sąlyga failo deskriptoriaus uždarymo metu tuo pačiu metu iškviečiant funkcijas close() ir fget(). Iškvietimas uždaryti() gali būti įvykdytas prieš paleidžiant fget(), o tai supainios elementų rinkiklį nenaudojamas, nes, remiantis perskaičiavimu, failo struktūra neturės išorinių nuorodų, bet liks prijungta prie failo deskriptoriaus, t. likęs įrašas failo deskriptorių lentelėje ir toliau rodys, kad struktūra atlaisvinama.

Norėdami padidinti tikimybę įeina į lenktynių būklę, buvo panaudotos kelios gudrybės, kurios leido padidinti sėkmės tikimybę akcijų paketo 30 proc. atliekant konkrečius sistemos optimizavimus. Pavyzdžiui, norint keliais šimtais nanosekundžių padidinti prieigos prie struktūros su failų deskriptoriais laiką, duomenys buvo išplauti iš procesoriaus talpyklos, užteršdami talpyklą kito procesoriaus branduolio veikla, o tai leido grąžinti struktūrą iš atminties ir ne greitoji procesoriaus talpykla.

Antra svarbi savybė buvo aparatinės įrangos laikmačio generuojamų pertraukimų naudojimas padidinti lenktynių laiką. Laikas buvo pasirinktas taip, kad pertraukų tvarkytojas paleistų varžybų sąlygos metu ir kuriam laikui nutrauktų kodo vykdymą. Siekdama dar labiau atitolinti valdymo grąžinimą, epoll eilėje sugeneravo apie 50 tūkstančių įrašų, kuriems reikėjo pakartojimo pertraukimų tvarkyklėje.

Technika pažeidžiamumo išnaudojimas buvo atskleista po 90 dienų neatskleidimo laikotarpio. Problema

ir tai buvo sutvarkyta gruodžio pradžioje. Pataisa buvo įtraukta į 5.16 branduolį, taip pat perkelta į LTS branduolio šakas ir paketus su branduoliu, pateiktu paskirstymuose. Pažymėtina, kad pažeidžiamumas buvo nustatytas analizuojant panašią problemą CVE-2021-0920, kuri pasireiškia šiukšliadėže apdorojant MSG_PEEK vėliavėlę.

Kitas pažeidžiamumas, kuris buvo rastas neseniai „Linux“ branduolyje tai buvo CVE-2022-0742 kad gali išeikvoti turimą atmintį ir nuotoliniu būdu sukelti paslaugų atsisakymą siunčiant specialiai sukurtus icmp6 paketus. Problema susijusi su atminties nutekėjimu, atsirandančiu apdorojant 6 arba 130 tipų ICMPv131 pranešimus.

Problema egzistuoja nuo 5.13 branduolio ir buvo ištaisyta 5.16.13 ir 5.15.27 versijose. Problema neturėjo įtakos Debian, SUSE, Ubuntu LTS (18.04, 20.04) ir RHEL stabilioms šakoms, ji buvo ištaisyta „Arch Linux“.

Pagaliau jei norite sužinoti daugiau apie tai Išsamią pastabą galite patikrinti šią nuorodą.


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