Уязвимости в networkd-dispatcher, позволяющие получить права root
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Исследователи безопасности из компании Microsoft выявили две уязвимости (CVE-2022-29799, CVE-2022-29800) в сервисе networkd-dispatcher, получившие кодовое имя Nimbuspwn и позволяющие непривилегированному пользователю выполнить произвольные команды с правами root. Проблема устранена в выпуске networkd-dispatcher 2.2. Информации о публикации обновлений дистрибутивами пока нет (Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux).
Networkd-dispatcher применяется во многих дистрибутивах Linux, включая Ubuntu, использующих для настройки параметров сети фоновый процесс systemd-networkd, и выполняет функции сходные с NetworkManager-dispatcher, т.е. занимается запуском скриптов при изменении состояния сетевого соединения, например, применяется для запуска VPN после установки основного сетевого соединения.
Связанный с networkd-dispatcher фоновый процесс выполняется с правами root и принимает сигналы о событиях через шину D-Bus. Информация о событиях, связанных с изменением состояния сетевых соединений, отправляется сервисом systemd-networkd. Проблема в том, что непривилегированные пользователи могут сформировать событие о несуществующем состоянии и инициировать запуск своего скрипта, который будет выполнен с правами root.
Systemd-networkd рассчитан на запуск только системных скриптов-обработчиков, размещённых в каталоге /etc/networkd-dispatcher и не доступных для замены пользователем, но из-за уязвимости (CVE-2022-29799) в коде обработки файлового пути имелась возможность выхода за пределы базового каталога и запуска произвольных скриптов. В частности, при формировании файлового пути к скрипту использовались переданные через D-Bus значения OperationalState и AdministrativeState, в которых не производилась чистка спецсимволов. Атакующий мог сгенерировать собственное состояние, в имени которого присутствовали символы "../" и перенаправить обращение networkd-dispatcher в другой каталог.
Вторая уязвимость (CVE-2022-29800) связана с состоянием гонки - между проверкой параметров скрипта (принадлежность root) и его запуском имелся небольшой промежуток времени, достаточный чтобы заменить файл и обойти проверку на принадлежность скрипта пользователю root. Кроме того, в networkd-dispatcher отсутствовала проверка на символические ссылки, в том числе при запуске скриптов через вызов subprocess.Popen, что существенно упростило организацию атаки.
Техника эксплуатации:
- Создаются каталог "/tmp/nimbuspwn" и символическая ссылка "/tmp/nimbuspwn/poc.d", указывающая на каталог "/sbin", который используется для прохождение проверки на наличие исполняемых файлов, принадлежащих root.
- Для исполняемых файлов из "/sbin" создаются файлы с аналогичным именем в каталоге "/tmp/nimbuspwn", например, для файла "/sbin/vgs" создаётся исполняемый файл "/tmp/nimbuspwn/vgs", принадлежащий непривилегированному пользователю, в который помещается код, который желает запустить атакующий.
- По D-Bus процессу networkd-dispatcher отправляется сигнал с указанием в OperationalState значения "../../../tmp/nimbuspwn/poc". Для отправки сигнала в пространстве имён "org.freedesktop.network1" использовалась возможность подключения своих обработчиков к systemd-networkd, например, через манипуляции с gpgv или epmd, или можно воспользоваться тем, что systemd-networkd не запущен по умолчанию (например, в Linux Mint).
- После получения сигнала Networkd-dispatcher выполняет построения списка исполняемых файлов, принадлежащих пользователю root и доступных в каталоге "/etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d", который на деле ссылается на "/sbin".
- В момент, когда список файлов получен, но скрипт ещё не запущен, символическая ссылка перенаправляется с "/tmp/nimbuspwn/poc.d" на
"/tmp/nimbuspwn" и networkd-dispatcher запустит с правами root cкрипт, размещённый атакующим.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://www.microsoft.com/secu...)
- OpenNews: Удалённая уязвимость в systemd-networkd
- OpenNews: Уязвимость в systemd, потенциально позволяющая повысить свои привилегии
- OpenNews: Критическая уязвимость в библиотеке Libgcrypt 1.9.0, затрагивающая GnuPG и systemd
- OpenNews: Root-уязвимость в ядре Linux и отказ в обслуживании в systemd
- OpenNews: Уязвимости в systemd, Flatpak, Samba, FreeRDP, Clamav, Node.js
Похожие новости:
- Уязвимости в systemd, Flatpak, Samba, FreeRDP, Clamav, Node.js
- Выпуск системного менеджера systemd 250
- Системный менеджер InitWare, форк systemd, портирован для OpenBSD
- Root-уязвимость в ядре Linux и отказ в обслуживании в systemd
- [Open source, Виртуализация, Карьера в IT-индустрии, Openshift] Quarkus и разработка еdge-систем IoT, шпаргалка по Kubernetes, а также электронная книга «Ansible for DevOps»
- [Системное администрирование, *nix, Серверное администрирование] 5 возможностей systemd, которые нравятся сисадминам (перевод)
- Выпуск системного менеджера systemd 248
- [Настройка Linux] Чиним резолвинг адресов в VPN-локалке (openconnect) для docker и systemd-resolved
- [Настройка Linux, Системное администрирование, Серверная оптимизация, Серверное администрирование, DevOps] journald вместо syslog
- Выпуск дистрибутива Devuan 3.1, форка Debian без systemd
Теги для поиска: #_systemd, #_networkd
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 24-Ноя 21:15
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Исследователи безопасности из компании Microsoft выявили две уязвимости (CVE-2022-29799, CVE-2022-29800) в сервисе networkd-dispatcher, получившие кодовое имя Nimbuspwn и позволяющие непривилегированному пользователю выполнить произвольные команды с правами root. Проблема устранена в выпуске networkd-dispatcher 2.2. Информации о публикации обновлений дистрибутивами пока нет (Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux). Networkd-dispatcher применяется во многих дистрибутивах Linux, включая Ubuntu, использующих для настройки параметров сети фоновый процесс systemd-networkd, и выполняет функции сходные с NetworkManager-dispatcher, т.е. занимается запуском скриптов при изменении состояния сетевого соединения, например, применяется для запуска VPN после установки основного сетевого соединения. Связанный с networkd-dispatcher фоновый процесс выполняется с правами root и принимает сигналы о событиях через шину D-Bus. Информация о событиях, связанных с изменением состояния сетевых соединений, отправляется сервисом systemd-networkd. Проблема в том, что непривилегированные пользователи могут сформировать событие о несуществующем состоянии и инициировать запуск своего скрипта, который будет выполнен с правами root. Systemd-networkd рассчитан на запуск только системных скриптов-обработчиков, размещённых в каталоге /etc/networkd-dispatcher и не доступных для замены пользователем, но из-за уязвимости (CVE-2022-29799) в коде обработки файлового пути имелась возможность выхода за пределы базового каталога и запуска произвольных скриптов. В частности, при формировании файлового пути к скрипту использовались переданные через D-Bus значения OperationalState и AdministrativeState, в которых не производилась чистка спецсимволов. Атакующий мог сгенерировать собственное состояние, в имени которого присутствовали символы "../" и перенаправить обращение networkd-dispatcher в другой каталог. Вторая уязвимость (CVE-2022-29800) связана с состоянием гонки - между проверкой параметров скрипта (принадлежность root) и его запуском имелся небольшой промежуток времени, достаточный чтобы заменить файл и обойти проверку на принадлежность скрипта пользователю root. Кроме того, в networkd-dispatcher отсутствовала проверка на символические ссылки, в том числе при запуске скриптов через вызов subprocess.Popen, что существенно упростило организацию атаки. Техника эксплуатации:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 24-Ноя 21:15
Часовой пояс: UTC + 5