Sårbarheder i networkd-dispatcher, der tillader opnåelse af root-rettigheder

Sikkerhedsforskere fra Microsoft har identificeret to sårbarheder (CVE-2022-29799, CVE-2022-29800) i tjenesten networkd-dispatcher, som har kode-navnet Nimbuspwn, og som tillader en ikke-privilegeret bruger at udføre vilkårlige kommandoer med root-rettigheder. Problemet er blevet løst i udgaven networkd-dispatcher 2.2. Der er p.t. ingen oplysninger om offentliggørelse af opdateringer fra distributioner (Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux).

Networkd-dispatcher bruges i mange Linux-distributioner, herunder Ubuntu, der anvender baggrundsprocessen systemd-networkd til at konfigurere netværksparametre, og udfører funktioner svarende til NetworkManager-dispatcher, dvs. den er ansvarlig for at starte scripts ved ændring af netværksforbindelsens tilstand, fx anvendes den til at starte VPN efter oprettelse af den primære netværksforbindelse.

Den baggrundsproces, der er relateret til networkd-dispatcher, kører med root-rettigheder og modtager signaler om hændelser gennem D-Bus-bussen. Oplysninger om hændelser relateret til ændring af netværksforbindelsens tilstand sendes af tjenesten systemd-networkd. Problemet er, at ikke-privilegerede brugere kan generere en hændelse om en ikke-eksisterende tilstand og initiere kørsel af deres script, som vil blive udført med root-rettigheder.

Systemd-networkd er beregnet til kun at køre systembehandlingsscripts placeret i mappen /etc/networkd-dispatcher, som ikke er tilgængelige for brugerens erstatning, men på grund af sårbarheden (CVE-2022-29799) i koden til filstibearbejdning var der mulighed for at gå ud over basismappen og køre vilkårlige scripts. Især blev de værdier, der blev sendt over D-Bus, OperationalState og AdministrativeState, brugt til at danne filstien til scriptet, og der blev ikke foretaget nogen oprydning af specialtegn. Angriberen kunne generere sin egen tilstand, hvis navn indeholdt tegnene "..\/" og omdirigere anmodningen til networkd-dispatcher til en anden mappe.

Den anden sårbarhed (CVE-2022-29800) er relateret til en ræsetilstand — mellem kontrol af scriptparametre (tilhørsforhold til root) og dets udførelse var der et lille tidsrum, der var tilstrækkeligt til at erstatte filen og omgå kontrollen af scriptets tilhør til brugeren root. Desuden manglede networkd-dispatcher kontrol for symboliske links, herunder ved udførelse af scripts gennem kald af subprocess.Popen, hvilket væsentligt lettede tilrettelæggelsen af angrebet.

Brugsanvisning:

  • Katalogen «/tmp/nimbuspwn» og det symbolske link «/tmp/nimbuspwn/poc.d» oprettes, hvilket peger på katalogen «/sbin», som anvendes til at kontrollere for eksekverbare filer ejet af root.
  • For de eksekverbare filer fra «/sbin» oprettes der filer med samme navn i katalogen «/tmp/nimbuspwn», for eksempel, for filen «/sbin/vgs» oprettes der en eksekverbar fil «/tmp/nimbuspwn/vgs», ejet af en ikke-privilegeret bruger, som indeholder den code, som angriberen ønsker at køre.
  • Via D-Bus sender processerne networkd-dispatcher et signal med værdien «../..../tmp/nimbuspwn/poc» i OperationalState. For at sende signalet i navnerummet «org.freedesktop.network1» benyttede man muligheden for at tilslutte egne håndteringsfunktioner til systemd-networkd, eksempelvis gennem manipulationer med gpgv eller epmd, eller man kan udnytte, at systemd-networkd ikke er aktiveret som standard (f.eks. i Linux Mint).
  • Efter at have modtaget signalet, udfører Networkd-dispatcher konstruktionen af en liste over eksekverbare filer, der tilhører brugeren root og som er tilgængelige i katalogen «/etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d», som i virkeligheden henviser til «/sbin».
  • I det øjeblik listen over filer er modtaget, men scriptet endnu ikke er kørt, omdirigeres det symbolske link fra «/tmp/nimbuspwn/poc.d» til «/tmp/nimbuspwn», og networkd-dispatcher vil køre scriptet, placeret af angriberen, med root-rettigheder.

Sårbarheder i networkd-dispatcher, der tillader opnåelse af root-rettigheder


Kilde: opennet.ru
Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster