Dirty Pipe: haavoittuvuus, joka mahdollistaa tietojen korvaamisen

Äskettäin uutiset rikkoivat sen Linux-ytimessä havaittiin haavoittuvuus ja joka on jo luetteloitu nimellä CVE-2022-0847 ja jota he ovat nimenneet "Likainen putki".

Tämä haavoittuvuus nimeltä "Dirty Pipe"sallii välimuistin sisällön korvaamisen sivun mille tahansa tiedostolle, mukaan lukien ne, jotka on asetettu vain luku -tilaan, avattu O_RDONLY-lipulla tai jotka sijaitsevat vain luku -tilassa asennetuissa tiedostojärjestelmissä.

Käytännön puolella haavoittuvuus voidaan käyttää koodin syöttämiseen mielivaltaisiin prosesseihin tai vioittunut avoimissa tiedostoissa olevia tietoja. Voit esimerkiksi muuttaa sshd-prosessin authorised_keys-tiedoston sisältöä.

Tietoja Dirty Pipestä

Se on samanlainen kuin kriittinen haavoittuvuus Dirty COW tunnistettu vuonna 2016, ja Dirty Pipen on kerrottu olevan vaarallisuuden tasolla Dirty COW:n kanssa, mutta tämä on paljon helpompi käyttää.

Dirty Pipe tunnistettiin arkistojen säännöllisistä vaurioista tehtyjen valitusten analysoinnin yhteydessä ladattu verkon kautta järjestelmään, joka lataa pakatut tiedostot lokipalvelimelta (37 vahinkoa 3 kuukaudessa ladatussa järjestelmässä), jotka valmistettiin käyttämällä splice()-operaatiota ja nimeämättömiä putkia.

Haavoittuvuus on ilmennyt Linux-ytimen versiosta 5.8 lähtien, julkaistu elokuussa 2020.

Toisella tavalla katsottuna voimme sanoa, että se on olemassa Debian 11:ssä, mutta se ei vaikuta Ubuntu 20.04 LTS:n perusytimeen, kun taas RHEL 8.x:n ja openSUSE/SUSE 15:n ytimiin, jotka perustuvat alun perin vanhoihin haaroihin, mutta se on mahdollista. että ongelman aiheuttava muutos on siirretty heille (tarkkoja tietoja ei vielä ole).

Haavoittuvuus johtuu siitä, ettei funktioiden copy_page_to_iter_pipe() ja push_pipe() koodissa ole alustettu arvoa "buf->flags", vaikka muistia ei tyhjennetä, kun rakennetta varataan, ja tietyistä manipulaatioista nimettömällä. pipes, "buf->flags" voi sisältää arvon toisesta operaatiosta. Tämän ominaisuuden avulla etuoikeutettu paikallinen käyttäjä voi saavuttaa PIPE_BUF_FLAG_CAN_MERGE-arvon näyttämisen lipussa, jolloin he voivat korvata tietoja sivun välimuistissa yksinkertaisesti kirjoittamalla uusia tietoja erityisesti valmistettuun nimettömään putkeen.

hyökkäystä varten voidaan tehdä, tarvitset kohdetiedoston, jonka on oltava luettavissa ja koska käyttöoikeuksia ei tarkisteta putkeen kirjoitettaessa, sivun välimuisti voidaan suorittaa korvaamalla, jopa tiedostoille, jotka sijaitsevat vain luku -osioissa (esimerkiksi c CD-ROM-tiedostot).

Tämän avulla sivun välimuistissa olevien tietojen korvaamisen jälkeen prosessi, kun lukee tietoja tiedostosta, ei saa todellista tietoa, vaan korvattuja.

Mainitaan se Dirty Pipe -toiminto tiivistyy nimettömän putken luomiseen ja sen täyttämiseen mielivaltaisilla tiedoilla saavuttaaksesi lipun PIPE_BUF_FLAG_CAN_MERGE asettamisen kaikkiin siihen liittyviin rengasrakenteisiin.

Tiedot luetaan sitten putkesta, mutta lippu pysyy asetettuna pipe_inode_info-rengasrakenteiden pipe_buffer-rakenteen kaikissa tapauksissa. Tämän jälkeen suoritetaan splice()-kutsu datan lukemiseksi kohdetiedostosta nimettömään putkeen, alkaen vaaditusta siirtymästä. Kun kirjoitetaan tietoja tähän nimettömään putkeen, lippu PIPE_BUF_FLAG_CAN_MERGE korvaa tiedot sivun välimuistissa sen sijaan, että luodaan uusi pipe_buffer-rakenteen esiintymä.

Vihdoin Jos haluat tietää enemmän siitä, voit tarkistaa tiedot alkuperäisestä huomautuksesta Seuraavassa linkissä.

Myös jos olet kiinnostunut voi seurata tai tietää päivitysten julkaisemisesta paketeista pääjakeluissa, voit tehdä sen näiltä sivuilta: DebianSUSEUbuntuRHELFedoraGentooArchLinux.

Mainitaan, että ehdotettu haavoittuvuuskorjaus on saatavilla Linux-ytimen versioissa 5.16.11, 5.15.25 ja 5.10.102 ja korjaus sisältyy myös Android-alustalla käytettävään ytimeen.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.