Dirty Pipe: pažeidžiamumas, leidžiantis perrašyti duomenis

Neseniai žinia tai atskleidė buvo nustatytas Linux branduolio pažeidžiamumas ir kuris jau yra kataloguotas CVE-2022-0847 ir kurį jie pavadino kaip "Nešvarus vamzdis".

Šis pažeidžiamumas vadinamas „Dirty Pipe“leidžia perrašyti talpyklos turinį puslapio bet kuriam failui, įskaitant tuos, kurie nustatyti tik skaityti, atidaryti su O_RDONLY vėliava arba esantys failų sistemose, prijungtose tik skaityti.

Iš praktinės pusės – pažeidžiamumas gali būti naudojamas kodui įterpti į savavališkus procesus arba sugadinti duomenys atidarytuose failuose. Pavyzdžiui, galite pakeisti sshd proceso Author_keys failo turinį.

Apie Dirty Pipe

Tai panašu į kritinį pažeidžiamumą Dirty COW nustatyta 2016 m., o „Dirty Pipe“ pavojaus požiūriu yra tokio paties lygio kaip „Dirty COW“, bet kad šį daug lengviau valdyti.

„Dirty Pipe“ buvo nustatytas nagrinėjant skundus dėl periodinės archyvų žalos atsisiųsta per tinklą sistemoje, kuri atsisiunčia suspaustus failus iš registravimo serverio (37 pažeidimai per 3 mėnesius įkeltoje sistemoje), kurie buvo paruošti naudojant splice() operaciją ir neįvardytus vamzdžius.

Pažeidžiamumas pasirodė nuo Linux branduolio 5.8 versijos, išleistas 2020 m. rugpjūčio mėn.

Žvelgiant kitu būdu galime pasakyti, kad jis yra Debian 11, bet jis neturi įtakos baziniam branduoliui Ubuntu 20.04 LTS, o RHEL 8.x ir openSUSE/SUSE 15 branduoliams, kurie iš pradžių yra pagrįsti senomis šakomis, tačiau tai įmanoma. kad problemą sukeliantis pokytis jiems perduotas (tikslių duomenų dar nėra).

Pažeidžiamumas atsirado dėl to, kad funkcijų copy_page_to_iter_pipe() ir push_pipe() kode nėra inicijuotos reikšmės "buf->flags", nepaisant to, kad atmintis nebuvo išvalyta, kai struktūra yra išvalyta, ir atlikus tam tikras manipuliacijas su neįvardijamu vamzdžiai, "buf->flags" gali turėti reikšmę iš kitos operacijos. Naudodamas šią funkciją, neprivilegijuotas vietinis vartotojas gali pasiekti, kad vėliavėlėje būtų rodoma PIPE_BUF_FLAG_CAN_MERGE reikšmė, leidžianti perrašyti duomenis puslapio talpykloje tiesiog įrašant naujus duomenis į specialiai paruoštą bevardį vamzdį.

už išpuolį gali būti padaryta, jums reikia tikslinio failo, kuris turi būti skaitomas ir kadangi rašant į vamzdį prieigos teisės netikrinamos, puslapio talpykloje galima pakeisti net failus, esančius tik skaitomuose skaidiniuose (pavyzdžiui, c CD-ROM failams).

Tokiu būdu, pakeitus informaciją puslapio talpykloje, procesas, nuskaitęs duomenis iš failo, gaus ne tikrus duomenis, o pakeistus.

Minima, kad Dirty Pipe operacija susiveda į neįvardyto vamzdžio sukūrimą ir jo užpildymą savavališkais duomenimis nustatyti vėliavėlę PIPE_BUF_FLAG_CAN_MERGE visose su juo susijusiose žiedo struktūrose.

Tada duomenys nuskaitomi iš vamzdžio, bet vėliavėlė išlieka nustatyta visuose pipe_buffer struktūros egzemplioriuose pipe_inode_info žiedo struktūrose. Tada iškviečiamas splice() norint nuskaityti duomenis iš paskirties failo į bevardį vamzdį, pradedant nuo reikiamo poslinkio. Rašant duomenis į šį bevardį vamzdį, vėliavėlė PIPE_BUF_FLAG_CAN_MERGE perrašys duomenis puslapio talpykloje, o ne sukurs naują pipe_buffer struktūros egzempliorių.

Pagaliau Jei norite sužinoti daugiau apie tai, detales galite patikrinti originaliame užraše Šioje nuorodoje.

Be to, jei jus domina turėti galimybę sekti arba žinoti apie atnaujinimų paskelbimą paketų pagrindiniuose platinimuose, galite tai padaryti šiuose puslapiuose: debianSUSAubuntuRHELMinkšta fetrinė skrybėlė"Gentoo"„Arch Linux“.

Paminėta, kad siūlomas pažeidžiamumo pataisymas galimas Linux branduolio 5.16.11, 5.15.25 ir 5.10.102 versijose, o pataisa taip pat įtraukta į branduolį, naudojamą Android platformoje.


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