Nimbuspwn, tīkla dispečera ievainojamība, kas ļauj komandas palaist kā root

L Atlaiduši Microsoft drošības pētnieki ziņas, ka ir identificējušas divas ievainojamības (CVE-2022-29799, CVE-2022-29800) tīkla dispečeru pakalpojumā ar koda nosaukumu Nimbuspwn, kas ļauj nepievilinātam lietotājam izpildīt patvaļīgas komandas kā root.

networkd-dispatcher lv izmanto daudzi Linux izplatījumi, tostarp Ubuntu, kas tīkla iestatījumu konfigurēšanai izmanto systemd-networkd fona procesu un veic funkcijas, kas līdzīgas NetworkManager-dispečeram, t.i., tas apstrādā skriptu izpildi, kad mainās tīkla savienojuma stāvoklis, piemēram, tiek izmantots, lai palaistu VPN pēc tīkla izveides. galvenais tīkla savienojums.

Korporācija Microsoft ir atklājusi vairākas ievainojamības, kas kopā nosauktas par Nimbuspwn, kas var ļaut uzbrucējam paaugstināt privilēģijas, lai piekļūtu saknēm daudzos Linux darbvirsmas galapunktos. Ievainojamības var savienot ķēdē, lai Linux sistēmās iegūtu saknes privilēģijas, ļaujot uzbrucējiem izvietot lietderīgās slodzes, piemēram, saknes aizmugures durvis un veikt citas ļaunprātīgas darbības, patvaļīgi izpildot saknes kodu. Turklāt Nimbuspwn ievainojamības var potenciāli izmantot kā saknes piekļuves vektoru sarežģītākiem draudiem, piemēram, ļaunprogrammatūrai vai izpirkuma programmatūrai, lai vēl vairāk ietekmētu neaizsargātās ierīces.

Mēs atklājām ievainojamības, klausoties ziņojumus sistēmas kopnē, vienlaikus veicot koda pārskatīšanu un dinamisku analīzi pakalpojumiem, kas darbojas kā root, un pamanījām dīvainu modeli sistēmas vienībā, ko sauc par tīkla dispečeru.

Fona process, kas saistīts ar tīkla dispečeru, darbojas kā root un klausās notikumus caur D-busu. Pakalpojums systemd-networkd nosūta informāciju par notikumiem, kas saistīti ar tīkla savienojumu stāvokļa maiņu. Problēma ir tāda, ka lietotāji, kuriem nav priviliģētu statusu, var paaugstināt neeksistējošu statusa notikumu un sākt izpildīt jūsu skriptu, kas darbosies kā root.

systemd-networkd ir paredzēts tikai skriptu palaišanai sistēmas kontrolleris, kas atrodas direktorijā /etc/networkd-dispatcher un nav maināms lietotājam, bet ievainojamības dēļ (CVE-2022-29799) bija iespējams, ka faila ceļa apstrādes kods tika izslēgts no bāzes direktorija ierobežojumus un izpildīt patvaļīgus skriptus.

Konkrēti, veidojot faila ceļu uz skriptu, tika izmantotas, izmantojot D-Bus, pārsūtītās vērtības OperacionalState un AdministrationState, kurās īpašās rakstzīmes netika dzēstas. Uzbrucējs var ģenerēt savu stāvokli ar rakstzīmēm "../" nosaukumā un novirzīt tīkla dispečera zvanu uz citu direktoriju.

Otra ievainojamība (CVE-2022-29800) ir saistīts ar sacensību nosacījumu: Starp skripta parametru pārbaudi (kas pieder saknei) un tā izpildi pagāja īss laika posms, kas bija pietiekami, lai aizstātu failu un izlaistu root piederošā skripta pārbaudi. Arī tīkla dispečers nepārbaudīja simboliskās saites, pat izpildot skriptus, izmantojot apakšprocesu.Popen zvanu, kas ievērojami vienkāršoja uzbrukumu organizēšanu.

Tiek izveidots direktorijs "/tmp/nimbuspwn" un tiek izveidota simboliska saite "/tmp/nimbuspwn/poc.d", kas norāda uz direktoriju "/sbin", kas tiek izmantota, lai pārbaudītu saknes īpašumā esošos izpildāmos failus.

“/sbin” izpildāmajiem failiem faili ar tādu pašu nosaukumu tiek izveidoti direktorijā “/tmp/nimbuspwn”, piemēram, failam “/sbin/vgs” tiek izveidots izpildāmais fails “/tmp/nimbuspwn/ vgs”. , kas pieder lietotājam bez privilēģijām, kurā tiek ievietots kods, kuru uzbrucējs vēlas izpildīt.

D-Bus signāls tiek nosūtīts tīkla dispečera procesam ar OperacionalState iestatītu uz "../../../tmp/nimbuspwn/poc". Lai nosūtītu signālu nosaukumvietā "org.freedesktop.network1", jūs izmantojāt iespēju savienot kontrolierus ar systemd-networkd, piemēram, ar gpgv vai epmd manipulācijām, vai arī varat izmantot faktu, ka systemd-networkd tā nav. darbojas pēc noklusējuma (piemēram, operētājsistēmā Linux mint).

Saņemot signālu, Networkd-dispatcher izveido izpildāmo failu sarakstu, kas pieder saknes lietotājam un ir pieejami direktorijā "/etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d", ko tas faktiski attiecas uz "/sbin".

Tiklīdz tiek saņemts failu saraksts, bet skripts vēl nav izpildīts, simboliskā saite tiek novirzīta no "/tmp/nimbuspwn/poc.d" uz "/tmp/nimbuspwn" un tiks izpildīts networkd-dispatcher kā sakne. uzbrucēja ievietotais skripts.

Problēma fiksēts Networkd-dispatcher 2.2 laidienā, lai gan nav informācijas par atjauninājumu izlaišanu sadalījumos.

Beidzot ja jūs interesē uzzināt vairāk par to, varat pārbaudīt informāciju Šajā saitē.


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

Komentārs, atstāj savu

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta.

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Luix teica

    Tūkstoš un vienu reizi ir teikts: systemd ir atkritumi. Lieki, slikti izstrādāti, pārslogoti, bieži kļūdu. Žēl, ka tas tika iegults manā iecienītākajā distro (debian)