Ohutusprobleemid networkd-dispatcheris, mis vÔimaldavad omandada root Ôigused

Microsofti turva-uuringute eksperdid avastasid kaks haavatavust (CVE-2022-29799, CVE-2022-29800) teenuses networkd-dispatcher, mis on koodnimedega Nimbuspwn ja vÔimaldavad mittetÀielikul kasutajal kÀivitada juhuslikke kÀske root Ôigustes. Probleem on lahendatud networkd-dispatcher versioonis 2.2. Teavet distributsioonide uuenduste avaldamise kohta (Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux) pole veel saadaval.

Networkd-dispatcherit kasutatakse paljudes Linux'i distributsioonides, sealhulgas Ubuntu's, mis kasutavad sĂŒsteemi parameetrite seadistamiseks taustaprotsessi systemd-networkd, ning see tĂ€idab funktsioone, mis on sarnased NetworkManager-dispatcher'ile, st töötleb skripte, kui muutub vĂ”rguĂŒhenduse seisund, nĂ€iteks kĂ€ivitab VPN pĂ€rast pĂ”hivĂ”rguĂŒhenduse seadistamist.

Networkd-dispatcheriga seotud taustaprotsess töötab root Ă”igustes ja vĂ”tab sĂŒndmuste signaale D-Bus'i bussilt. Informatsioon vĂ”rguĂŒhenduse seisundite muutumise sĂŒndmuste kohta edastatakse teenuse systemd-networkd kaudu. Probleem on selles, et mittetĂ€ielikud kasutajad saavad genereerida mitteeksisteeriva oleku sĂŒndmuse ja algatada oma skripti kĂ€ivitamise, mis toimub root Ă”igustes.

Systemd-networkd on kavandatud ainult sĂŒsteemi kĂ€sitsi töötlejatena kasutamiseks, mis asuvad kataloogis /etc/networkd-dispatcher ja ei ole kasutaja jaoks asendatavad, kuid haavatavuse (CVE-2022-29799) tĂ”ttu failitee töötlemise koodis oli vĂ”imalik minna vĂ€lja pĂ”hikataloogist ja kĂ€ivitada juhuslikke skripte. Erakordselt toimingulistel viisidel tekkis failitee genereerimisel D-Bus'i kaudu edastatavad OperationalState ja AdministrativeState vÀÀrtused, kus eriliste mĂ€rkide puhastamist ei teostatud. RĂŒndaja sai genereerida oma oleku, mille nimes olid mĂ€rgid "..\/" ja suunata networkd-dispatcher'i pĂ€ringu teise katalooge.

Teine haavatavus (CVE-2022-29800) on seotud vĂ”istlusolukorraga - skripti parameetrite kontrollimise (root-i kuuluvuse) ja selle kĂ€ivitamise vahel oli vĂ€ikene ajavahemik, mis oli piisav faili asendamiseks ja skripti kasutaja root-ile kuuluvuse kontrolli kĂ”rvalehoidmiseks. Lisaks puudus networkd-dispatcheris sĂŒmboolsete linkide kontroll, sealhulgas skriptide kĂ€ivitamisel subprocess.Popen kaudu, mis lihtsustas rĂŒnnaku korraldamist.

RĂŒnnakutehnika:

  • Looge kataloog «/tmp/nimbuspwn» ja sĂŒmboolne link «/tmp/nimbuspwn/poc.d», mis osutab kataloogile «/sbin», mida kasutatakse root-ile kuuluvate tĂ€idetavate failide kontrollimise vĂ€ltimiseks.
  • Kataloogis «/tmp/nimbuspwn» luuakse sarnaste nimedega failid «/sbin» tĂ€idetavate failide jaoks, nĂ€iteks faili «/sbin/vgs» jaoks luuakse tĂ€idetav fail «/tmp/nimbuspwn/vgs», mis kuulub privileege mitteomavale kasutajale ning kuhu paigutatakse kood, mida rĂŒndaja soovib kĂ€ivitada.
  • D-Bus protsessis saadetakse networkd-dispatcherile signaal, mille OperationalState-i vÀÀrtuseks on «../../../tmp/nimbuspwn/poc». Signeali saatmiseks «org.freedesktop.network1» nimiruumi kasutati vĂ”imalust ĂŒhendada oma töötlejad systemd-networkd'ga, nĂ€iteks gpgv vĂ”i epmd manipuleerimise kaudu, vĂ”i vĂ”ite kasutada fakti, et systemd-networkd ei ole vaikimisi kĂ€ivitatud (nĂ€iteks Linux Mintis).
  • PĂ€rast signaali vastuvĂ”tmist loob Networkd-dispatcher loendi tĂ€idetavatest failidest, mis kuuluvad kasutajale root ja on saadaval kataloogis «/etc/networkd-dispatcher/../../../../tmp/nimbuspwn/poc.d», mis tegelikult osutab «/sbin».
  • Ootamise hetkel, kui failide loend on saadud, kuid skripti ei ole veel kĂ€ivitatud, suunatakse sĂŒmboolne link «/tmp/nimbuspwn/poc.d» ĂŒmber «/tmp/nimbuspwn» ja networkd-dispatcher kĂ€ivitab rĂŒndaja paigutatud skripti root-Ă”igustega.

Ohutusprobleemid networkd-dispatcheris, mis vÔimaldavad omandada root Ôigused


Allikas: opennet.ru
Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster