Nimbuspwn, networkd-dispatcherin haavoittuvuus, joka sallii komentojen suorittamisen pääkäyttäjänä

Los Microsoftin tietoturvatutkijat julkaisivat uutiset siitä ovat tunnistaneet kaksi haavoittuvuutta (CVE-2022-29799, CVE-2022-29800) Networkd-dispatcher-palvelussa koodinimeltään Nimbuspwn, jotka sallivat etuoikeutettujen käyttäjien suorittaa mielivaltaisia ​​komentoja pääkäyttäjänä.

networkd-dispatcher fi käytetään monissa Linux-jakeluissa, mukaan lukien Ubuntu, joka käyttää systemd-networkd-taustaprosessia verkkoasetusten määrittämiseen ja suorittaa NetworkManager-dispatcherin kaltaisia ​​toimintoja, eli se hoitaa komentosarjan suorituksen verkkoyhteyden tilan muuttuessa, esim. sitä käytetään VPN:n käynnistämiseen sen jälkeen, kun verkkoyhteys on muodostettu. pääverkkoyhteys.

Microsoft on löytänyt useita haavoittuvuuksia, yhteisnimeltään Nimbuspwn, joiden avulla hyökkääjä voi nostaa oikeuksia juurtuakseen moniin Linux-työpöytäpäätepisteisiin. Haavoittuvuudet voidaan ketjuttaa saadakseen pääkäyttäjän oikeudet Linux-järjestelmiin, jolloin hyökkääjät voivat ottaa käyttöön hyötykuormia, kuten juuritakaoven, ja suorittaa muita haitallisia toimia mielivaltaisen pääkoodin suorittamisen kautta. Lisäksi Nimbuspwn-haavoittuvuuksia voitaisiin mahdollisesti hyödyntää kehittyneempien uhkien, kuten haittaohjelmien tai kiristysohjelmien, pääkäyttäjän pääsyn vektorina haavoittuvien laitteiden vaikuttamiseksi entisestään.

Löysimme haavoittuvuudet kuuntelemalla järjestelmäväylän viestejä samalla kun suoritimme kooditarkastuksia ja dynaamisia analyyseja pääkäyttäjänä toimiville palveluille, ja huomasimme outo kuvion systemd-yksikössä nimeltä networkd-dispatcher.

Networkd-dispatcheriin liittyvä taustaprosessi toimii pääkäyttäjänä ja kuuntelee tapahtumia D-Busin kautta. Systemd-networkd-palvelu lähettää tietoa verkkoyhteyksien tilan muutokseen liittyvistä tapahtumista. Ongelmana on, että käyttäjät, joilla ei ole etuoikeuksia, voivat herättää olemattoman tilatapahtuman ja aloittaa komentosarjan suorittamisen, joka suoritetaan pääkäyttäjänä.

systemd-networkd on suunniteltu suorittamaan vain komentosarjoja järjestelmän ohjain sijaitsee /etc/networkd-dispatcher-hakemistossa ja ei ole käyttäjän vaihdettavissa, mutta haavoittuvuuden takia (CVE-2022-29799) oli mahdollista, että tiedostopolun käsittelykoodi oli poistettu käytöstä perushakemistosta rajojen ja suorittaa mielivaltaisia ​​komentosarjoja.

Erityisesti skriptin tiedostopolun muodostamisessa käytettiin D-Busin kautta lähetettyjä OperationalState- ja AdministrationState-arvoja, joissa erikoismerkkejä ei poistettu. Hyökkääjä voi luoda oman tilan, jossa on merkit "../" nimessä ja ohjata networkd-dispatcher-kutsu toiseen hakemistoon.

Toinen haavoittuvuus (CVE-2022-29800) liittyy kilpailutilanteeseen: Skriptiparametrien (juuren omistama) tarkistamisen ja sen suorittamisen välillä kului lyhyt aika, joka riitti tiedoston korvaamiseen ja rootin omistaman komentosarjan tarkistamisen ohittamiseen. Networkd-dispatcher ei myöskään tarkistanut symbolisia linkkejä edes suoritettaessa skriptejä aliprosessin kautta.Popen-kutsu, joka yksinkertaisti huomattavasti hyökkäyksen organisointia.

Luodaan hakemisto "/tmp/nimbuspwn" ja luodaan symbolinen linkki "/tmp/nimbuspwn/poc.d", joka osoittaa hakemistoon "/sbin", jota käytetään pääkäyttäjän omistamien suoritettavien tiedostojen tarkistamiseen.

Suoritettaville tiedostoille "/sbin" luodaan samannimiset tiedostot "/tmp/nimbuspwn"-hakemistoon, esimerkiksi "/sbin/vgs"-tiedostolle luodaan suoritettava tiedosto "/tmp/nimbuspwn/vgs". , jonka omistaa käyttäjä, jolla ei ole oikeuksia ja johon laitetaan koodi, jonka hyökkääjä haluaa suorittaa.

D-Bus-signaali lähetetään networkd-dispatcher-prosessille OperationalState-asetuksena "../../../tmp/nimbuspwn/poc". Signaalin lähettämiseksi nimiavaruudessa "org.freedesktop.network1" käytit kykyä yhdistää ohjaimet systemd-networkd-verkkoon esimerkiksi gpgv- tai epmd-manipulaatioilla tai voit käyttää sitä tosiasiaa, että systemd-networkd se ei ole oletuksena käynnissä (esimerkiksi Linux mintissä).

Vastaanotettuaan signaalin Networkd-dispatcher luo luettelon pääkäyttäjän omistamista suoritettavista tiedostoista, jotka ovat saatavilla "/etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d"-hakemistossa, johon se itse asiassa viittaa "/sbin".

Heti kun tiedostoluettelo on vastaanotettu, mutta komentosarjaa ei ole vielä suoritettu, symbolinen linkki ohjataan osoitteesta "/tmp/nimbuspwn/poc.d" hakemistoon "/tmp/nimbuspwn" ja networkd-dispatcher suoritetaan muodossa juuri. hyökkääjän asettama käsikirjoitus.

Ongelma korjattu networkd-dispatcher 2.2 -julkaisussa, vaikka jakelujen päivitysten julkaisemisesta ei ole tietoa.

Vihdoin jos olet kiinnostunut tietämään siitä lisää, voit tarkistaa yksityiskohdat Seuraavassa linkissä.


Jätä kommentti

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

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  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.

  1.   luix dijo

    Se on sanottu tuhat ja yksi kertaa: systemd on roskaa. Redundantti, huonosti suunniteltu, ylikuormitettu, virhealtis. Harmi, että se oli upotettu suosikkidistrooni (debian)