Dirty Pipe: ranjivost koja omogućava prepisivanje podataka

Nedavno je vijest razbila to identifikovana je ranjivost u Linux kernelu i koji je već katalogiziran pod CVE-2022-0847 i koji su nazvali "prljava cijev".

Ova ranjivost nazvana je "Prljava cijev"omogućava prepisivanje sadržaja keša stranice za bilo koju datoteku, uključujući one postavljene na samo za čitanje, otvorene sa zastavicom O_RDONLY ili smještene na sistemima datoteka montiranim samo za čitanje.

S praktične strane, ranjivost može se koristiti za ubacivanje koda u proizvoljne procese ili oštećene podatke u otvorenim datotekama. Na primjer, možete promijeniti sadržaj datoteke authorized_keys za sshd proces.

O Dirty Pipeu

Slično je kritičnoj ranjivosti Dirty COW identifikovan 2016. godine, a pominje se da je Dirty Pipe na istom nivou kao Dirty COW u smislu opasnosti, ali da je ovaj mnogo lakši za rukovanje.

Prljava cijev je identifikovana tokom analize pritužbi na periodična oštećenja arhivske građe preuzeto preko mreže na sistemu koji preuzima komprimirane fajlove sa servera za logovanje (37 oštećenja u 3 mjeseca na učitanom sistemu), koji su pripremljeni korištenjem operacije splice() i neimenovanih cijevi.

Ranjivost manifestira se od verzije Linux kernela 5.8, objavljen u avgustu 2020.

Gledano na drugi način možemo reći da je prisutan u Debianu 11 ali ne utječe na osnovnu jezgru u Ubuntu 20.04 LTS, dok za RHEL 8.x i openSUSE/SUSE 15 kernela koji su izvorno bazirani na starim granama, ali je moguće da je promjena koja uzrokuje problem prenijeta na njih (još nema tačnih podataka).

Ranjivost je uzrokovana nedostatkom inicijalizacije vrijednosti "buf->flags" u kodu funkcija copy_page_to_iter_pipe() i push_pipe(), uprkos tome što se memorija ne briše kada se struktura dodjeljuje, i uz određene manipulacije sa neimenovanim cijevi, "buf->flags" može sadržavati vrijednost iz druge operacije. Sa ovom funkcijom, neprivilegirani lokalni korisnik može postići izgled vrijednosti PIPE_BUF_FLAG_CAN_MERGE u zastavici, omogućavajući im da prepišu podatke u kešu stranice jednostavnim pisanjem novih podataka u posebno pripremljenu neimenovanu cijevi.

za napad može se uraditi, potrebna vam je ciljna datoteka koja mora biti čitljiva a pošto se prava pristupa ne provjeravaju prilikom pisanja u cijevi, zamjena se može izvršiti na kešu stranice, čak i za datoteke koje se nalaze na particijama samo za čitanje (na primjer, za c CD-ROM datoteke).

Pri tome, nakon zamjene informacija u kešu stranice, proces prilikom čitanja podataka iz datoteke neće primiti prave podatke, već zamijenjene.

To se spominje operacija Dirty Pipe se svodi na kreiranje neimenovane cijevi i njeno punjenje proizvoljnim podacima da postignete postavljanje zastavice PIPE_BUF_FLAG_CAN_MERGE na svim prstenastim strukturama koje su povezane s tim.

Podaci se zatim čitaju iz cijevi, ali zastavica ostaje postavljena na svim instancama pipe_buffer strukture u prstenastim strukturama pipe_inode_info. Zatim se upućuje poziv splice() za čitanje podataka iz odredišne ​​datoteke u neimenovanu cijev, počevši od potrebnog pomaka. Prilikom pisanja podataka u ovu neimenovanu cijevi, oznaka PIPE_BUF_FLAG_CAN_MERGE će prepisati podatke u kešu stranice umjesto kreiranja nove instance pipe_buffer strukture.

Konačno Ako ste zainteresirani da saznate više o tome, detalje možete provjeriti u originalnoj napomeni Na sledećem linku.

Takođe, ako ste zainteresovani za moći pratiti ili znati o objavljivanju ažuriranja paketa u glavnim distribucijama, to možete učiniti sa ovih stranica: DebianSUSEUbuntuRHELfedoraGentooArchLinux.

Spominje se da je predloženi popravak ranjivosti dostupan u verzijama Linux kernela 5.16.11, 5.15.25 i 5.10.102, a ispravka je također uključena u kernel koji se koristi na Android platformi.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.