Рањивости у мрежном диспечеру које омогућавају роот приступ

Исследователи безопасности из компании Microsoft выявили две уязвимости (CVE-2022-29799, CVE-2022-29800) в сервисе networkd-dispatcher, получившие кодовое имя Nimbuspwn и позволяющие непривилегированному пользователю выполнить произвольные команды с правами root. Проблема устранена в выпуске networkd-dispatcher 2.2. Информации о публикации обновлений дистрибутивами пока нет (Debian, RHEL, Федора, SUSE, Ubuntu, Арцх Linux).

Networkd-dispatcher применяется во многих дистрибутивах Linuxукључујући Ubuntu, использующих для настройки параметров сети фоновый процесс systemd-networkd, и выполняет функции сходные с NetworkManager-dispatcher, т.е. занимается запуском скриптов при изменении состояния сетевого соединения, например, применяется для запуска ВПН након успостављања основне мрежне везе.

Позадински процес повезан са мрежним диспечером ради као роот и прима сигнале догађаја преко Д-Бус-а. Информације о догађајима у вези са променама стања мрежних веза шаље услуга системд-нетворкд. Проблем је у томе што непривилеговани корисници могу генерисати непостојећи догађај стања и покренути њихову скрипту да се изврши као роот.

Системд-нетворкд је дизајниран да покреће само скрипте за руковање системом које се налазе у директоријуму /етц/нетворкд-диспатцхер и нису доступне за замену корисника, али због рањивости (ЦВЕ-2022-29799) у коду за обраду путање датотеке, дошло је до могућност основног директоријума ван граница и покретања произвољних скрипти. Конкретно, приликом формирања путање датотеке до скрипте, коришћене су вредности ОператионалСтате и АдминистративеСтате пренете преко Д-Бус-а, у којима специјални знакови нису обрисани. Нападач би могао да генерише сопствено стање са знаковима „../“ у његовом имену и преусмери позив мрежног диспечера у други директоријум.

Друга рањивост (ЦВЕ-2022-29800) је повезана са условом трке – између провере параметара скрипте (који припадају роот-у) и њеног покретања, постојао је кратак временски период, довољан да се датотека замени и заобиђе провера да ли је скрипта припада роот кориснику. Поред тога, мрежни диспечер није проверавао симболичке везе, укључујући и када се извршавају скрипте кроз потпроцес.Попен позив, што је значајно поједноставило организацију напада.

Оперативна техника:

  • Креирају се директоријум “/тмп/нимбуспвн” и симболичка веза “/тмп/нимбуспвн/поц.д” која указује на директоријум “/сбин”, који се користи за проверу извршних датотека у власништву роот-а.
  • За извршне датотеке из „/сбин“, датотеке са истим именом се креирају у директоријуму „/тмп/нимбуспвн“, на пример, за датотеку „/сбин/вгс“ је извршна датотека „/тмп/нимбуспвн/вгс“ креиран, у власништву непривилегованог корисника, у који је смештен код који нападач жели да покрене.
  • По D-Bus процессу networkd-dispatcher отправляется сигнал с указанием в OperationalState значения «../../../tmp/nimbuspwn/poc». Для отправки сигнала в пространстве имён «org.freedesktop.network1» использовалась возможность подключения своих обработчиков к systemd-networkd, например, через манипуляции с gpgv или epmd, или можно воспользоваться тем, что systemd-networkd не запущен по умолчанию (например, в Linux Mint).
  • Након пријема сигнала, Нетворкд-диспатцхер прави листу извршних датотека у власништву роот корисника и доступних у директоријуму “/етц/нетворкд-диспатцхер/../../../тмп/нимбуспвн/поц.д”, који се заправо повезује са "/сбин".
  • У тренутку када је листа фајлова примљена, али скрипта још није покренута, симболичка веза се преусмерава са “/тмп/нимбуспвн/поц.д” на “/тмп/нимбуспвн” и мрежни диспечер ће покренути скрипта коју хостује нападач са роот правима.

Рањивости у мрежном диспечеру које омогућавају роот приступ


Извор: опеннет.ру
Купите поуздан хостинг за сајтове са ДДоС заштитом, ВПС ВДС сервере 🔥 Купите поуздан веб хостинг са DDoS заштитом, VPS VDS сервере | ProHoster