Nimbuspwn, en sårbarhed i networkd-dispatcher, der tillader kommandoer at blive udført som root

masse Microsofts sikkerhedsforskere frigivet nyheden om det har identificeret to sårbarheder (CVE-2022-29799, CVE-2022-29800) i networkd-dispatcher-tjenesten kodenavnet Nimbuspwn, der tillader en uprivilegeret bruger at udføre vilkårlige kommandoer som root.

networkd-dispatcher en bruges af mange Linux-distributioner, herunder Ubuntu, som bruger systemd-networkd-baggrundsprocessen til at konfigurere netværksindstillinger og udfører funktioner svarende til NetworkManager-dispatcher, dvs. den håndterer scriptudførelse, når netværksforbindelsestilstanden ændres, for eksempel bruges den til at starte en VPN efter etablering af hovednetværksforbindelse.

Microsoft har opdaget adskillige sårbarheder, samlet kaldet Nimbuspwn, som kunne gøre det muligt for en angriber at ophøje privilegier til root på mange Linux-desktop-endepunkter. Sårbarhederne kan kædes sammen for at opnå root-privilegier på Linux-systemer, hvilket gør det muligt for angribere at implementere nyttelaster såsom en root-bagdør og udføre andre ondsindede handlinger gennem vilkårlig udførelse af rodkode. Derudover kan Nimbuspwn-sårbarheder potentielt udnyttes som en vektor for root-adgang af mere sofistikerede trusler, såsom malware eller ransomware, for yderligere at påvirke sårbare enheder.

Vi opdagede sårbarhederne ved at lytte efter beskeder på systembussen, mens vi udførte kodegennemgange og dynamiske analyser på tjenester, der kører som root, og bemærkede et mærkeligt mønster i en systemd enhed kaldet networkd-dispatcher.

Baggrundsprocessen forbundet med networkd-dispatcher kører som root og lytter efter begivenheder gennem D-bussen. Systemd-networkd-tjenesten sender information om hændelser relateret til ændringen af ​​tilstanden af ​​netværksforbindelser. Problemet er, at ikke-privilegerede brugere kan rejse en ikke-eksisterende statushændelse og begynde at udføre dit script, som vil køre som root.

systemd-networkd er designet til kun at køre scripts systemcontroller placeret i mappen /etc/networkd-dispatcher og kan ikke udskiftes af brugeren, men på grund af en sårbarhed (CVE-2022-29799) det var muligt, at filstihåndteringskoden var slået fra fra basismappen af grænser og eksekvere vilkårlige scripts.

Især ved dannelse af filstien til scriptet blev værdierne OperationalState og AdministrationState sendt over D-Bus brugt, hvor specialtegnene ikke blev slettet. En angriber kunne generere sin egen tilstand med tegnene "../" i navnet og omdirigere netværksdispatcher-kaldet til en anden mappe.

Den anden sårbarhed (CVE-2022-29800) er relateret til en race tilstand: Mellem kontrol af script-parametrene (ejet af root) og eksekvering af det, var der en kort periode, nok til at erstatte filen og springe over at kontrollere det script, der ejes af root. Networkd-dispatcher kontrollerede heller ikke symbolske links, selv når scripts blev eksekveret via subprocess.Popen-kaldet, hvilket i høj grad forenklede angrebsorkestreringen.

Mappen "/tmp/nimbuspwn" oprettes og et symbolsk link "/tmp/nimbuspwn/poc.d" der peger på mappen "/sbin" oprettes, som bruges til at sende en check for eksekverbare filer, der ejes af root.

For "/sbin" eksekverbare filer oprettes filer med samme navn i mappen "/tmp/nimbuspwn", for eksempel, for "/sbin/vgs" fil, oprettes en eksekverbar fil "/tmp/nimbuspwn/ vgs" , ejet af en bruger uden privilegier, hvori den kode, som angriberen ønsker at eksekvere, er placeret.

Et D-Bus-signal sendes til networkd-dispatcher-processen med OperationalState sat til "../../../tmp/nimbuspwn/poc". For at sende et signal i "org.freedesktop.network1" navnerummet brugte du muligheden for at forbinde dine controllere til systemd-networkd, for eksempel ved gpgv eller epmd manipulationer, eller du kan bruge det faktum, at systemd-networkd det ikke er kører som standard (for eksempel på Linux mint).

Ved modtagelse af signalet opretter Networkd-dispatcher en liste over eksekverbare filer, der ejes af rodbrugeren og er tilgængelige i mappen "/etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d", som det faktisk refererer til "/sbin".

Så snart listen over filer er modtaget, men scriptet endnu ikke er blevet udført, omdirigeres det symbolske link fra "/tmp/nimbuspwn/poc.d" til "/tmp/nimbuspwn", og networkd-dispatcher vil blive udført som rod. script placeret af angriberen.

Problemet rettet i networkd-dispatcher 2.2 udgivelse, selvom der ikke er nogen information om frigivelse af opdateringer af distributioner.

Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne I det følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   luix sagde han

    Det er blevet sagt tusind og én gange: systemd er skrald. Redundant, dårligt designet, overbelastet, udsat for fejl. En skam, at den var indlejret i min yndlingsdistro (debian)