The OpenNET Project / Index page

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

11.08.2017 10:42  Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра Linux

В сетевой подсистеме ядра Linux выявлены две опасные уязвимости, которые позволяют локальному пользователю повысить свои привилегии в системе:

  • Первая уязвимость (CVE-2017-1000112) вызвана состоянием гонки (race condition) в коде управления аппаратно акселерированным разбором фрагментированных UDP-пакетов - UFO (UDP Fragmentation Offload). Суть проблемы в том, что построение пакета для UFO осуществляется при помощи вызовов __ip_append_data() и ip_ufo_append_data(), а данные передаются через несколько вызовов send(), между которыми атакующий может подменить тип с UFO на не-UFO и вызвать наложение требующего фрагментации хвоста на область памяти вне границ выделенного буфера. Проблема присутствует в ядре с 18 октября 2005 года и проявляется как в стеке IPv4, так и при использовании IPv6.
  • Вторая уязвимость (CVE-2017-1000111) вызвана состоянием гонки при обработке сокетов AF_PACKET с опцией PACKET_RESERVE. Это третья уязвимость в реализации кольцевых буферов TPACKET_V3 сокетов AF_PACKET (функция packet_set_ring), которые включены по умолчанию ("CONFIG_PACKET=y") в большинстве дистрибутивов Linux. В отличие от прошлых проблем новая уязвимость проявляется при использовании опции PACKET_VERSION.

Для успешной эксплуатации обеих уязвимостей требуется наличие полномочий CAP_NET_RAW, которые обычно не предоставляются непривилегированным пользователям. С практической стороны уязвимости представляют интерес для организации атаки по выходу из изолированных контейнеров, так как проблема может быть эксплуатирована в системах с поддержкой пространств имён идентификаторов пользователей (user namespaces). В Debian, Red Hat Enterprise Linux и ALT Linux поддержка user namespaces по умолчанию не активирована, но она включена в Ubuntu и Fedora. В Android право создавать сокеты AF_PACKET имеет процесс mediaserver, через который может быть эксплуатирована уязвимость.

Уязвимости пока устранены только в Ubuntu, SUSE и openSUSE. Проблемы остаются неисправленными в Fedora, Debian и RHEL/CentOS. Для ядра Linux предложены патчи, в том числе предложено полностью удалить подсистему UFO из ядра 4.14.

  1. Главная ссылка к новости (http://openwall.com/lists/oss-...)
  2. OpenNews: Локальная root-уязвимость в реализации сокетов AF_PACKET в ядре Linux
  3. OpenNews: Локальная root-уязвимость в ядре Linux
  4. OpenNews: Раскрыты подробности о root-уязвимости в ядре Linux, атакованной на Pwn2Own
  5. OpenNews: В Android и старых ядрах Linux устранена уязвимость, эксплуатируемая через отправку UDP-пакетов
  6. OpenNews: Локальная root-уязвимость в подсистеме inotify ядра Linux
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: kernel, udp, linux
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 11:35, 11/08/2017 [ответить] [смотреть все]
  • +9 +/
    Такое впечатление, что user namespaces придумали специально, чтобы проще из контейнеров выходить.
     
     
  • 2.2, Michael Shigorin, 11:40, 11/08/2017 [^] [ответить] [смотреть все] [показать ветку]
  • –1 +/
    Ну так в nix традиционно рут -- проходи же Соответственно пока _все_ хотя... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.30, Аноним, 15:11, 11/08/2017 [^] [ответить] [смотреть все]  
  • +/
    А если они отключены, то это означает, что и в основной системе, и в контейнере ... весь текст скрыт [показать]
     
  • 3.87, grsec, 00:59, 12/08/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    В git у вас почти все версии с CONFIG_USER_NS=y
     
  • 2.3, Аноним, 11:46, 11/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Вот да. Такие-то дыры каждый раз~
     
  • 2.4, Аноним, 12:05, 11/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    В AF_PACKET и без user namespaces полно дыр.
     
     
  • 3.6, ваш К.О., 12:09, 11/08/2017 [^] [ответить] [смотреть все]  
  • +/
    af_packet без user namespaces доступен только руту remote дыр в нем я что-то не... весь текст скрыт [показать]
     
  • 2.7, Аноним, 12:19, 11/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Нет, user namespaces придумали специально, чтобы контейнеры _были_ В данном слу... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.10, EHLO, 13:07, 11/08/2017 [^] [ответить] [смотреть все]  
  • +/
    речь о том что через user namespaces можно получить рута без CAP_NET_RAW, в смыс... весь текст скрыт [показать]
     
     
  • 4.31, Аноним, 15:14, 11/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Потому, что CAP_NET_RAW, чаще всего, даётся контейнеру.
     
  • 1.11, Аноним, 13:12, 11/08/2017 [ответить] [смотреть все]  
  • +/
    Что скажут хейтеры убунты Не ребрендинг дебиана всё же ... весь текст скрыт [показать]
     
     
  • 2.14, Аноним, 13:23, 11/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Вопросы ... весь текст скрыт [показать] [показать ветку]
     
  • 1.47, Аноним, 16:27, 11/08/2017 [ответить] [смотреть все]  
  • –1 +/
    Наконец-то хороший патч ... весь текст скрыт [показать]
     
     
  • 2.64, pda, 20:05, 11/08/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Почему удаление аппаратной обработки - хорошо Или тут табличка сарказм потеря... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.104, Мегазаычы, 00:59, 16/08/2017 [^] [ответить] [смотреть все]  
  • +/
    потому что читай cover message, вот почему https www spinics net lists netdev... весь текст скрыт [показать]
     
  • 1.105, Аноним, 10:58, 16/08/2017 [ответить] [смотреть все]  
  • +/
    Ну почему автор этой статьи и других аналогичных не упоминает, кто уязвимость ... весь текст скрыт [показать]
     

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


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor