GDM: ssä havaittiin haavoittuvuus

Turvallisuustutkija kirjoittanut GitHub teki siitä tunnetuksi äskettäin olet tunnistanut haavoittuvuuden (CVE-2020-16125) GNOME Display Managerissa (GDM), joka vastaa kirjautumisnäytön näyttämisestä.

Yhdistettynä toiseen haavoittuvuuteen tilin seurantapalvelussa (accounts-daemon), ongelman avulla koodi voidaan suorittaa pääkäyttäjänä.  Haavoittuvuus liittyy alkuperäisen määritysapuohjelman virheelliseen käynnistämiseen, jos tilidemonipalveluun on mahdotonta päästä DBus: n kautta.

Tietoja haavoittuvuudesta

Etuoikeuton käyttäjä voi kaataa tilit-daemon-prosessin tai katkaise mikä luo olosuhteet jotta gnome-initial-setup-apuohjelma suoritettaisiin GDM: stä, jonka kautta uusi käyttäjä voi rekisteröityä sudo-ryhmän jäseneksi, eli sillä on kyky suorittaa ohjelmia pääkäyttäjänä.

normaalisti, GDM kutsuu gnome-initial-setup ensimmäisen käyttäjän asettamiseksi jos järjestelmässä ei ole tilejä. Tilien olemassaolo varmistetaan ottamalla yhteyttä accounts-daemoniin. Jos määritetty prosessi epäonnistuu, GDM olettaa, että tilit puuttuvat, ja aloittaa alkuperäisen määritysprosessin.

Tutkija tunnisti kaksi tapaa häiritä daemon-tilien prosessia- Ensimmäinen (CVE-2020-16126) johtuu virheellisestä käyttöoikeuksien nollaamisesta ja toisesta (CVE-2020-16127) virheestä .pam_environment-tiedostoa käsiteltäessä.

Lisäksi, toinen haavoittuvuus löydettiin daemon-tileistä (CVE-2018-14036) johtuu virheellisistä tiedostopolun tarkistuksista ja mielivaltaisen tiedostosisällön lukemisesta järjestelmässä.

Account-daemonin haavoittuvuudet johtuvat Ubuntu-kehittäjien tekemistä muutoksista, eivätkä ne näy FreeDesktop-projektin ja Debian-paketin päätilit-daemon-koodissa.

CVE-2020-16127-ongelma esiintyy Ubuntussa lisätyssä korjaustiedostossa, joka toteuttaa is_in_pam_environment -toiminnon, joka lukee .pam_environment-tiedoston sisällön käyttäjän kotihakemistosta. Jos lisäät symbolisen linkin tiedostoon / dev / zero tämän tiedoston sijaan, tilidemon-prosessi jumittuu loputtomiin lukutoimintoihin ja lopettaa vastaamisen pyyntöihin DBus-ohjelman kautta.

On epätavallista, että nykyaikaisen käyttöjärjestelmän haavoittuvuus on niin helppo hyödyntää. Joissakin tapauksissa olen kirjoittanut tuhansia koodiriviä haavoittuvuuden hyödyntämiseksi. 

Useimpiin nykyaikaisiin hyödyntämistoimiin liittyy monimutkaisia ​​temppuja, kuten muistin vioittumisen haavoittuvuuden käyttäminen kasan väärennettyjen esineiden väärentämiseen tai tiedoston korvaaminen symboli-mikrosekunnin tarkkuudella TOCTOU-haavoittuvuuden hyödyntämiseksi. 

Joten nykyään on suhteellisen harvinaista löytää haavoittuvuus, jonka hyödyntäminen ei vaadi koodaustaitoja. Uskon myös, että haavoittuvuus on helppo ymmärtää, vaikka sinulla ei olisikaan aikaisempaa tietoa Ubuntun toiminnasta tai kokemusta tietoturvatutkimuksesta.

CVE-2020-16126 -heikkous johtuu toisesta korjaustiedostosta joka nollaa nykyisen käyttäjän oikeudet käsiteltäessä joitain DBus-puheluja (esimerkiksi org.freedesktop.Accounts.User.SetLanguage).

Tilidemon-prosessi toimii normaalisti pääkäyttäjänä, mikä estää normaalia käyttäjää lähettämästä signaaleja.

Mutta lisätyn laastarin ansiosta prosessin oikeudet voidaan nollata ja käyttäjä voi lopettaa tämän prosessin lähettämällä signaalin. Suorita hyökkäys yksinkertaisesti luomalla käyttöoikeuksien (RUID) poistamisen ehdot ja lähettämällä SIGSEGV- tai SIGSTOP-signaali tilidemonemonille.

Käyttäjä lopettaa graafisen istunnon ja menee tekstikonsoliin (Ctrl-Alt-F1).
Kun graafinen istunto on päättynyt, GDM yrittää näyttää kirjautumisnäytön, mutta jumittuu yrittäessään saada vastausta tilit-daemonista.

SIGSEGV- ja SIGCONT-signaalit lähetetään konsolista tilin daemon-prosessiin, mikä saa sen roikkumaan.

Voit myös lähettää signaaleja ennen graafisesta istunnosta poistumista, mutta sinun on tehtävä se viiveellä, jotta sinulla olisi aikaa lopettaa istunto ja ennen signaalin lähettämistä GDM: llä oli aikaa aloittaa.

Pyyntö tilidemonemonille GDM: ssä epäonnistuu ja GDM kutsuu apuohjelman gnome-initial-setup, jonka käyttöliittymässä riittää uuden tilin luominen.

Haavoittuvuus on korjattu GNOME 3.36.2- ja 3.38.2-versioissa. Haavoittuvuuden hyödyntäminen on vahvistettu Ubuntussa ja sen johdannaisissa.

lähde: https://securitylab.github.com


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.