Linux-ytimen tty-alijärjestelmästä löytyi haavoittuvuus

Google Project Zero -tiimin tutkijat julkaisivat äskettäin blogikirjoituksen kautta uusi tapa hyödyntää haavoittuvuuksia (CVE-2020-29661) ioctl-käsittelijän TIOCSPGRP toteutuksessa Linux-ytimen tty-alijärjestelmä, sekä yksityiskohtaisia ​​suojamekanismeja, jotka voivat estää nämä haavoittuvuudet.

Viestissä mainitaan, että ongelma johtuu virheestä lukitusasetuksissa, joka johtaa kilpailuehtoon koodissa /tty/tty_jobctrl.c, jota käytettiin luomaan olosuhteet muistin käyttämiselle käynnistyksen jälkeen (use-after-free), jota käyttäjätila hyödynsi manipuloimalla ioct- kutsumalla TIOCSPGRP:tä.

Julkaistujen tietojen lisäksi myös toiminnallinen hyödyntämisdemo suoritettiin etuoikeuksien eskaloitumista varten Debian 10 ja ydin 4.19.0-13-amd64 ja mikä ei myöskään sulje pois, että se voi vaikuttaa erilaisiin jakeluihin, joiden joukossa on tietysti Debianiin perustuvia ja siitä johdettuja.

Monet yksittäisistä hyväksikäyttötekniikoista ja lieventämisvaihtoehdoista, joita tässä kuvailen, eivät ole uusia. Mielestäni kannattaa kuitenkin kirjoittaa ne yhteen, jotta voidaan näyttää, kuinka erilaiset lievennykset ovat vuorovaikutuksessa melko normaalin jälkivapaan hyväksikäytön kanssa.

Tämän blogikirjoituksen koodinpätkät, jotka liittyvät hyväksikäyttöön, on otettu aiemmasta versiosta 4.19.160, koska siihen perustuu Debianin kohdeydin; jotkut muut koodinpätkät ovat Linuxin päälinjalta.

Samaan aikaan julkaistussa artikkelissa Painopiste ei ole niinkään toiminnallisen hyödyntämisen luomistekniikassa, vaan siinä, mitkä työkalut siellä on ytimessä suojellaksesi itseäsi tällaisia ​​haavoittuvuuksia vastaan.

Johtopäätös on pettymys, Kuten mainitaan, menetelmiä, kuten muistin segmentointi kasassa ja muistiin pääsyn hallinta sen vapauttamisen jälkeen, ei käytetä käytännössä, koska ne johtavat suorituskyvyn heikkenemiseen ja suojaukseen, joka perustuu CFI:hen (Control Flow Integrity), joka estää hyväksikäytöt myöhemmissä vaiheissa. hyökkäyksen vaiheissa, vaatii parannuksia.

Erityinen päätelaitetyyppi ovat pseudopäätteet, joita käytetään esimerkiksi avattaessa päätesovellusta graafisessa ympäristössä tai muodostettaessa yhteys etäkoneeseen SSH:n kautta. Kun muut päätelaitteet on kytketty johonkin laitteistoon, pseudopäätteen molempia päitä ohjataan käyttäjätilan avulla ja pseudopäätteitä voidaan luoda vapaasti käyttäjätilalla (ilman oikeuksia).

Aina kun /dev / ptmx avataan (lyhenne sanoista "pseudo-terminal multiplexer"), tuloksena oleva tiedostokuvaaja edustaa laitteen laitepuolta (kutsutaan dokumentaatiossa ja ydinlähteissä "pääpseudopäätteeksi"). uusi pseudo terminaali.

 Ydin luo automaattisesti vastaavan päätelaitteen (johon kuori normaalisti muodostaa yhteyden) hakemistossa /dev / pts / .

Tarkasteltaessa sitä, mikä voisi vaikuttaa pitkällä aikavälillä, painopiste on kehittyneiden staattisten jäsentimien käyttämisessä tai muistia säästävien kielten, kuten Rust- ja C-murteiden käyttämisessä laajennetuilla huomautuksilla (kuten todistettu C) tilantarkistusten, lukkojen, esineitä ja osoittimia. Suojausmenetelmissä mainitaan myös panic_on_oops-tilan aktivointi, ytimen rakenteiden tekeminen vain luku -muotoisiksi ja järjestelmäkutsujen käytön rajoittaminen sekcompin kaltaisten mekanismien avulla.

Ongelman aiheuttava virhe se korjattiin Linux-ytimessä 3. joulukuuta viime vuonna. Ongelma ilmenee ytimissä ennen versiota 5.9.13, mutta useimmat jakelut ovat korjanneet ongelman viime vuonna tarjotuissa ytimen pakettipäivityksissä.

Samanlainen haavoittuvuus mainitaan myös (CVE-2020-29660), joka löydettiin samanaikaisesti TIOCGSID ioctl -kutsua toteutettaessa, mutta joka myös poistettiin kaikkialta.

Vihdoin Jos haluat tietää enemmän siitä, voit tarkistaa yksityiskohdat Seuraavassa linkissä.


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.