Dobësitë në networkd-dispatcher, që mundësojnë fitimin e të drejtave root

Kërkuesit e sigurisë nga kompania Microsoft kanë identifikuar dy vulnerabilitete (CVE-2022-29799, CVE-2022-29800) në shërbimin networkd-dispatcher, të cilat kanë emrin kod Nimbuspwn dhe lejojnë një përdorues të paparagjur të ekzekutojë komanda të rastësishme me të drejta root. Problemi është zgjidhur në versionin networkd-dispatcher 2.2. Informacioni rreth publikimit të përditësimeve nga distribucionet nuk është ende në dispozicion (Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux).

Networkd-dispatcher përdoret në shumë distribucione Linux, përfshirë Ubuntu, të cilat përdorin procesin background systemd-networkd për të konfiguruar parametra të rrjetit, dhe kryen funksione të ngjashme me NetworkManager-dispatcher, dmth. menaxhon ekzekutimin e skripteve kur ndryshon gjendja e lidhjes së rrjetit, për shembull, përdoret për të nisur VPN pas instalimit të lidhjes kryesore të rrjetit.

Procesi i lidhur me networkd-dispatcher ekzekutohet me të drejta root dhe pranon sinjale për ngjarje përmes autobusit D-Bus. Informacioni mbi ngjarjet lidhur me ndryshimin e gjendjeve të lidhjeve të rrjetit dërgohet nga shërbimi systemd-networkd. Problemi është se përdoruesit e paparagjur mund të krijojnë një ngjarje për një gjendje që nuk ekziston dhe të inicojnë ekzekutimin e skriptit të tyre, i cili do të ekzekutohet me të drejta root.

Systemd-networkd është e dizajnuar për të ekzekutuar vetëm skriptet e përpunuesve sistemikë, të vendosura në katalogun /etc/networkd-dispatcher dhe që nuk janë të aksesueshme për zëvendësim nga përdoruesi, por për shkak të vulnerabilitetit (CVE-2022-29799) në kodin e përpunimit të rrugëve të skedarëve kishte mundësi të daljes jashtë katalogut bazë dhe të ekzekutimit të skripteve të rastësishme. Në veçanti, gjatë formimit të rrugës së skedarit për skriptin, u përdorën vlerat OperationalState dhe AdministrativeState të dërguara përmes D-Bus, ku nuk u krye pastrimi i simbolëve specialë. Sulmuesi mund të gjeneronte një gjendje të tijën, në emrin e së cilës ishin simbolet "../" dhe të drejtonte kërkesën drejt networkd-dispatcher në një katalog tjetër.

Vulnerabiliteti i dytĂ« (CVE-2022-29800) Ă«shtĂ« i lidhur me njĂ« gjendje garĂ« — midis kontrollit tĂ« parametrave tĂ« skriptit (pronarĂ«sia root) dhe ekzekutimit tĂ« tij kishte njĂ« periudhĂ« tĂ« vogĂ«l kohe, e mjaftueshme pĂ«r tĂ« zĂ«vendĂ«suar skedarin dhe pĂ«r tĂ« anashkaluar kontrollin mbi pronarĂ«sinĂ« e skriptit nga pĂ«rdoruesi root. NĂ« pĂ«rveçim, nĂ« networkd-dispatcher mungonte kontrolli mbi lidhjet simbolike, pĂ«rfshirĂ« gjatĂ« ekzekutimit tĂ« skripteve pĂ«rmes thirrjes subprocess.Popen, qĂ« e bĂ«ri shumĂ« mĂ« tĂ« lehtĂ« organizimin e sulmit.

Teknika e shfrytëzimit:

  • Krijohet katalogu "/tmp/nimbuspwn" dhe njĂ« lidhje simbolike "/tmp/nimbuspwn/poc.d" qĂ« tregon nĂ« katalogun "/sbin", i cili pĂ«rdoret pĂ«r tĂ« kaluar kontrollin mbi prani e skedarĂ«ve ekzekutues qĂ« i pĂ«rkasin root.
  • PĂ«r skedarĂ«t ekzekutues nga "/sbin" krijohen skedarĂ« me emra tĂ« ngjashĂ«m nĂ« katalogun "/tmp/nimbuspwn", pĂ«r shembull, pĂ«r skedarin "/sbin/vgs" krijohet skedari ekzekutiv "/tmp/nimbuspwn/vgs", qĂ« i pĂ«rket njĂ« pĂ«rdoruesi tĂ« paparagjur, nĂ« tĂ« cilin vendoset kodi qĂ« do tĂ« ekzekutohet nga sulmuesi.
  • PĂ«rmes D-Bus, procesi networkd-dispatcher dĂ«rgon njĂ« sinjal duke specifikuar nĂ« OperationalState vlerĂ«n "../../../tmp/nimbuspwn/poc". PĂ«r dĂ«rgimin e sinjalit nĂ« hapĂ«sirĂ«n e emrave "org.freedesktop.network1" u pĂ«rdor mundĂ«sia pĂ«r t'u lidhur me proceset e veta nĂ« systemd-networkd, pĂ«r shembull, pĂ«rmes manipulative me gpgv ose epmd, ose mund tĂ« shfrytĂ«zohet fakti qĂ« systemd-networkd nuk Ă«shtĂ« aktivizuar si parazgjedhje (pĂ«r shembull, nĂ« Linux Mint).
  • Pas marrjes sĂ« sinjalit, Networkd-dispatcher ndjek ndĂ«rtimin e njĂ« liste tĂ« skedarĂ«ve ekzekutues, qĂ« i pĂ«rkasin pĂ«rdoruesit root dhe janĂ« tĂ« aksesueshĂ«m nĂ« katalogun "/etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d", qĂ« nĂ« tĂ« vĂ«rtetĂ« referon nĂ« "/sbin".
  • NĂ« momentin qĂ« lista e skedarĂ«ve Ă«shtĂ« marrĂ«, por skripti ende nuk Ă«shtĂ« ekzekutuar, lidhja simbolike ndryshohet nga "/tmp/nimbuspwn/poc.d" nĂ« "/tmp/nimbuspwn" dhe networkd-dispatcher do tĂ« ekzekutojĂ« me tĂ« drejta root skriptin e vendosur nga sulmuesi.

Dobësitë në networkd-dispatcher, që mundësojnë fitimin e të drejtave root


Burimi: opennet.ru
Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster