The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Удалённая root-уязвимость в DHCP-клиенте из состава RHEL и Fedora

15.05.2018 20:08

В скрипте интеграции с NetworkManager, входящем в состав пакета dhcp-client, предлагаемого в Red Hat Enterprise Linux и Fedora, выявлена критическая уязвимость (CVE-2018-1111), которая позволяет удалённо выполнить код с правами root. Проблема может быть эксплуатирована при обработке специально оформленного DHCP-ответа в системах c NetworkManager, настроенных на получение конфигурации сети через протокол DHCP. Проблеме присвоен наивысший уровень опасности.

Для атаки злоумышленникам необходимо разместить в локальной сети собственный DHCP-сервер, получить контроль над штатным DHCP-сервером или выполнить спуфинг отправляемых клиенту DHCP-пакетов. Пользователь также может быть атакован при попытке подключения к незаслуживающей полного доверия беспроводной сети. Уязвимость присутствует в скрипте /etc/NetworkManager/dispatcher.d/11-dhclient (или 10-dhclient в RHEL 6), который вызывается при получении каждого ответа от DHCP-сервера. Через манипуляции с содержимым ответа можно выполнить любую shell-команду с правами NetworkManager (root).

Наличие проблемы подтверждено в RHEL 6/7 и Fedora, для которых уже выпущены экстренные обновления (в Fedora исправления включены в пакеты dhcp-4.3.5-11.fc26, dhcp-4.3.6-10.fc27, dhcp-4.3.6-20.fc28 и dhcp-4.3.6-21.fc29). Другие дистрибутивы проблема не затрагивает, за исключением продуктов, производных от RHEL и Fedora, таких как CentOS. Патч сводится к замене "read opt" на "read -r opt", т.е. отключению возможности экранирования спецсимволов с использованием обратного слэша.

Код с уязвимостью:


   eval "$(
   declare | LC_ALL=C grep '^DHCP4_[A-Z_]*=' | while read opt; do
       optname=${opt%%=*}
       optname=${optname,,}
       optname=new_${optname#dhcp4_}
       optvalue=${opt#*=}
       echo "export $optname=$optvalue"
   done
   )"


  1. Главная ссылка к новости (https://fedoramagazine.org/pro...)
  2. OpenNews: Критическая уязвимость в коде эталонного DHCP-клиента ISC
  3. OpenNews: Уязвимости в Dnsmasq, позволяющие удалённо выполнить код атакующего
  4. OpenNews: В ISC BIND и DHCP исправлены уязвимости
  5. OpenNews: Релиз ISC DHCP 4.2.1-P1 с исправлением опасной уязвимости в dhclient
  6. OpenNews: Сайт консорциума ISC, развивающего BIND и DHCP, подвергся взлому
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48601-dhcp
Ключевые слова: dhcp, rhel, fedora, redhat
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (52) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, anomymous (?), 20:14, 15/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    От жеж лядство. Пользующимся DHCP для каждодневной конфигурации хостов - мой горячий привет.
     
     
  • 2.7, пох (?), 21:03, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    пользующимся NetworkManager на чем-то кроме гостевого ноутбука - горячие приветы не нужны, они сами с приветом.

    Очередное "как в виндовс, только всем хуже". Для каких-либо "хостов" феерически бесполезное.

     
     
  • 3.15, Аноним (-), 21:26, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Официальная документаций RHEL7 рекомендует использовать NetworkManager во всех случаях без исключения, включая серверы.+
     
     
  • 4.20, Аноним (-), 22:25, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Официальная документаций RHEL7 рекомендует использовать NetworkManager во всех случаях
    > без исключения, включая серверы.+

    терпилы gonna терпеть. За деньги.

     
     
  • 5.21, Аноним (-), 22:34, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мы может и терпилы, но в отличие от тебя хотя бы в инструкцию заглядываем, а ты никуда не заглядываешь, но все равно рассказываешь всем, как нужно жить.
     
     
  • 6.22, Аноним (-), 22:46, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    и сколько там твой нетворк-менеджер уже намайнил, читатель?
     
     
  • 7.37, andy (??), 08:28, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Сколько у Вас намайнил неизвестно, у меня майнеров нет.
     
  • 6.42, wd (?), 09:27, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    он рассказывает как жить имея свое мнение, вы же вычитываете как жить в инструкции
     
     
  • 7.48, АНГЫВНАГЫНВАШЩ (?), 11:23, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    он, другой, не тот который мнение имеющий, агрегирует общедоступный опыт (читает инструкции) и на основе этих сведений принимает осознанное решение
     
  • 5.24, пох (?), 23:26, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    терпеть мало - велено было - радоваться. Вы чего не радуетесь?!

     
     
  • 6.55, Аноним (-), 21:06, 17/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > терпеть мало - велено было - радоваться. Вы чего не радуетесь?!

    Ну тебе то с маздаем и использованием линукса сквозь зубы за радости виднее...

     
  • 2.16, Аноним (-), 21:35, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    причем тут хосты если новость про клиенты?
     
  • 2.31, Аноним (-), 03:46, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ещё скажите, что статично нужно прописывать ip на хосты да ещё и от dns откажитесь, чтобы сократить время отклика. Лучше передайте привет всем адептам красношляпых.
     
     
  • 3.45, anomymous (?), 10:09, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Request-remember-reuse. При реконфигурации стирание строчки из конфига. Иное только для гостевых ноутов.
     

  • 1.3, Дим (?), 20:30, 15/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Можете меня считать параноиком, но не похоже это на случайную дыру, больше смахивает на целенаправленно заложенную форточку.
     
     
  • 2.23, 0x0 (?), 23:23, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Свет здесь могло бы пролить исследование откуда, зачем и как данная 'фича' взялась и как долго просуществовала :)
     

  • 1.4, alex (??), 20:44, 15/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ждем обновлений :)
     
     
  • 2.9, AnonYm (?), 21:18, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Простите, а Вам где и кто запускал удаленно? У кого имеется такая возможность?
     
     
  • 3.10, AnonYm (?), 21:19, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Прошу прощения.ошибся постом. Адресовано автору ниже.
     

  • 1.5, vlad (??), 20:45, 15/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Когда эта уязвимость в убунте была, нам принудительно apt-get upgrade удаленно запускали =)
    Эх, веселые времена.
     
     
  • 2.11, AnonYm (?), 21:20, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Простите, а Вам где и кто запускал удаленно? У кого имеется такая возможность?
     
     
  • 3.28, анон (?), 02:33, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    через уязвимость же, неужели не понятно?
     
  • 3.56, Аноним (-), 21:08, 17/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Простите, а Вам где и кто запускал удаленно? У кого имеется такая
    > возможность?

    У DHCP-сервера в сети, при том поскольку прикинуться им может в принципе кто попало... :)

     

  • 1.6, Аноним (-), 20:57, 15/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    https://i.imgur.com/wsSXEz0.png
     
  • 1.8, Аноним (-), 21:06, 15/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    Хорошо хоть init-скрипты больше никто (кроме маргиналов) не пишет на shell.
     
     
  • 2.12, Аноним (-), 21:22, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +7 +/
    а на чём пишут однострочные портянки для системдосовых юнитов? на коммандкоме?
     
     
  • 3.25, Аноним (-), 00:15, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    "Syntax: config-file" (c) редактор.
     
  • 2.13, Аноним (-), 21:22, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    +1
     
  • 2.19, Аноним (-), 22:19, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да что вы говорите?
     
  • 2.43, Andrey Mitrofanov (?), 09:45, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Хорошо хоть в сервисы, слушающие сеть от root-а, больше никто (кроме маргиналов) не пишет на shell и не вставляет в них никому не нужные фичи "для удобства".

    //Уточнил, не благодари.

     

  • 1.17, Аноним (-), 21:47, 15/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    мне интересно, а что это вообще такое?
    ${opt%%=*}
    %%=* это что?

     
     
  • 2.18, Аноним (-), 22:02, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    http://tldp.org/LDP/abs/html/string-manipulation.html

    ${string%%substring}
    Deletes longest match of $substring from back of $string.

     

  • 1.26, Аноним (-), 00:15, 16/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что, опять? Ремотный рут? Через скрипт? В DHCP? Это ж уже было?!

    Только красношляпый брат может наступить 2 раза на один и тот же ремотный рут!

     
     
  • 2.27, 0x0 (?), 00:28, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Дык, оно ж и дождём не смочишь всех тех, кто кладёт! :))
     

  • 1.29, mikhailnov (ok), 03:11, 16/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А в ubuntu dhcpd и NetworkManager прикрыты AppArmor
     
     
  • 2.44, Andrey Mitrofanov (?), 09:47, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А в ubuntu dhcpd и NetworkManager прикрыты AppArmor

    А в красношляпых -- SELinux-ом [I]!11

     
     
  • 3.49, PnDx (ok), 11:35, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А понту, когда уже́ стартанули bash с рутовыми правами исполнять наваленное в dhclient-script.
    Приходилось мне как-то туда влезать, так вот на ночь я это делать не рекомендую (присниться может).
    Неудержимый поток bash-хардкода, управляемый дописыванием ещё хардкода (ну, в моём случае выпиливанием). The worst practices из 90х (когда оно и писалось).
     
     
  • 4.50, Andrey Mitrofanov (?), 12:00, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Неудержимый поток bash-хардкода, управляемый дописыванием ещё хардкода (ну, в моём случае
    > выпиливанием). The worst practices из 90х (когда оно и писалось).

    Нудк, именно это и есть "${тырпрайс стабильность, просто работает, зачёркнутое вставить ао вкусу}", и именно это оно и продаётся р-х-ом.

    Вот выкинут bash, выкинут glibc, выкинут linux ^W kernel.org -- и _всё_ станет КакНадоТМ.  Уж не в этом веке, но поттер начАл движение, вайтхёрс книгу написал, linux.com ... заряжен и стуляет.

     
  • 4.51, Andrey Mitrofanov (?), 12:04, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Неудержимый поток bash-хардкода, управляемый дописыванием ещё хардкода

    И да, вот это именно те/такие "патчи", местами "кастомные", которые пишет "отзывчиывая" техподдержка.  Уплочено ж[I]!

     

  • 1.30, Аноним (-), 03:42, 16/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я вообще не понимаю, зачем семейство красношляпых использовать? Что, других достойных дистрибутивов нет? Или основная масса школьников, только по HowTo из интернета может подымать сервисы, коих большинство для CentOS.
     
     
  • 2.33, лютый охохонюшка (?), 05:59, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Я вообще не понимаю, зачем семейство красношляпых использовать

    Вырастешь, поймешь... Правда жизни: All distros sucks, but RHEL/CentOS sucks less.

    Ну да, есть ещё alpine для мелочевки типа прокси, почтовика. И Арч для десктопа. Остальное за-ка-пывайте...

     
     
  • 3.34, Аноним (-), 07:01, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >but RHEL/CentOS sucks less.

    с повсеместным внедрением инноваций, которые повелел сделать микрософт, сосут все абсолютно одинаково, просто в разных местах. Чуть меньше сосут те, кто не влился в тугую струю инноваторов.

     
  • 3.46, Адекват (ok), 10:28, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ну да, есть ещё alpine для мелочевки типа прокси, почтовика. И Арч
    > для десктопа. Остальное за-ка-пывайте...

    Это Арч нужно зaкопать, а лучше всех арчеводов в одной яме собрать, вместе с ментейнерами и бетоном залить.

     
  • 2.35, Crazy Alex (ok), 07:34, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что этим красношляпым в случае чего можно задать вопрос и даже получить вменяемое решение, вплоть до пакетов с кастомными патчами. Поддержка там вполне живая, что важно, когда есть реальные клиенты за реальные деньги.

    Ну и банально долгий срок жизни версий - вон, на шестёрке до сих пор жить можно, если припёрло.

    Всё остальное - мелочи и личные предпочтения по большому счёту

     
     
  • 3.36, Аноним (-), 07:46, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На шестёрке критически важный софт давным давно устарел, кастомные патчи — выдумка маркетоидов, шевеление поддержки раз на раз не приходится, вероятно, со временем она деградирует.
     
     
  • 4.40, Дима (??), 08:47, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поддержка там хорошая, их поддержка делала патч нам для дров на рейд контроллер, что бы работал нормально. Раз ты ей не пользовался, зачем понравится?
     
     
  • 5.41, Разработчики glibc (?), 08:55, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Техподдержка вендора знаменитого выкидыванием cciss из дистрибутива канпелировала фирмварь контроллера? Нихрена она не делает, и я знаю, о чём говорю.
     
     
  • 6.53, fi (ok), 17:59, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Техподдержка вендора знаменитого выкидыванием cciss из дистрибутива канпелировала фирмварь
    > контроллера? Нихрена она не делает, и я знаю, о чём говорю.

    значит он был глючный и заброшенный!!!

    This obsolete driver was removed from the kernel in version 4.14 - то есть вопросы к Линусу :))))

     
  • 4.52, fi (ok), 17:56, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    устарел только для торопыг, а у остальных он просто РАБОТАЕТ годами.

    кастомные патчи — вполне живая вещь - сам пользовался!!! Таже не будучи их клиентом, нашел свою проблему в багзиле, прошел по ссылке, скачал новое ядро и ву'а'ля, заработало и у меня!

     
  • 4.54, Лютый охохонюшка (?), 05:05, 17/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >На шестёрке критически важный софт давным давно устарел

    java8 есть? Есть! Свободен ;)

     
  • 2.39, Дима (??), 08:45, 16/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А давай вспомним рукодоб в дебиане и из дырку в SSL?
     

  • 1.57, dimcha (??), 11:52, 18/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    xxx: Вот удёлнное выполнение команд в RedHat Linux была из-за того, что они на баше, из под рута, парсили dhcp пакеты в eval'e. А ты мне не апрувишь пулреквест из-за отсутсвия комментариев.

    (c) https://t.me/DevOpsOnCall

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру