The OpenNET Project / Index page

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



"Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +/
Сообщение от opennews (??) on 11-Авг-17, 11:35 
В сетевой подсистеме ядра Linux выявлены две опасные уязвимости, которые позволяют локальному пользователю повысить свои привилегии в системе:

-  Первая уязвимость (http://openwall.com/lists/oss-security/2017/08/10/5) (CVE-2017-1000112 (https://security-tracker.debian.org/tracker/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.

-  Вторая уязвимость (http://openwall.com/lists/oss-security/2017/08/10/7) (CVE-2017-1000111 (https://security-tracker.debian.org/tracker/CVE-2017-1000111)) вызвана состоянием гонки при обработке сокетов AF_PACKET с опцией PACKET_RESERVE. Это третья (https://www.opennet.ru/opennews/art.shtml?num=46526) уязвимость (https://www.opennet.ru/opennews/art.shtml?num=45632) в реализации кольцевых буферов TPACKET_V3 сокетов AF_PACKET (функция packet_set_ring), которые включены по умолчанию ("CONFIG_PACKET=y") в большинстве дистрибутивов Linux. В отличие от прошлых проблем новая уязвимость проявляется при использовании опции PACKET_VERSION.

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


Уязвимости пока устранены только в Ubuntu (https://usn.ubuntu.com/usn/usn-3386-1/), SUSE (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2017-1000112) и openSUSE (https://lists.opensuse.org/opensuse-security-announce/2017-0...). Проблемы остаются неисправленными в Fedora (https://bodhi.fedoraproject.org/updates/?releases=F26&type=s...), Debian (https://security-tracker.debian.org/tracker/CVE-2017-1000112) и RHEL/CentOS (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-1000112). Для ядра Linux предложены (http://patchwork.ozlabs.org/patch/800274/) патчи (https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.gi...), в том числе предложено полностью удалить подсистему UFO из ядра 4.14.


URL: http://openwall.com/lists/oss-security/2017/08/10/5
Новость: http://www.opennet.ru/opennews/art.shtml?num=47007

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +9 +/
Сообщение от Аноним (??) on 11-Авг-17, 11:35 
Такое впечатление, что user namespaces придумали специально, чтобы проще из контейнеров выходить.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  –1 +/
Сообщение от Michael Shigorin email(ok) on 11-Авг-17, 11:40 
> Такое впечатление, что user namespaces придумали специально,
> чтобы проще из контейнеров выходить.

Ну так в *nix традиционно "рут? -- проходи!" же.  Соответственно пока _все_ хотя бы уже существующие проверки перепроверят...

В общем, у нас userns по умолчанию отключены, но можно вглючить на свой страх и риск.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

30. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +/
Сообщение от Аноним (??) on 11-Авг-17, 15:11 
А если они отключены, то это означает, что и в основной системе, и в контейнере один и тот же набор пользователей?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

87. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +2 +/
Сообщение от grsec (ok) on 12-Авг-17, 00:59 
В git у вас почти все версии с CONFIG_USER_NS=y
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +/
Сообщение от Аноним (??) on 11-Авг-17, 11:46 
Вот да. Такие-то дыры каждый раз~
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +/
Сообщение от Аноним (??) on 11-Авг-17, 12:05 
В AF_PACKET и без user namespaces полно дыр.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

6. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +/
Сообщение от ваш К.О. on 11-Авг-17, 12:09 
af_packet без user namespaces доступен только руту.

remote дыр в нем я что-то не припомню с того самого 2005го года

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  –1 +/
Сообщение от Аноним (??) on 11-Авг-17, 12:19 
>  Такое впечатление, что user namespaces придумали специально, чтобы проще из контейнеров выходить.

Нет, user namespaces придумали специально, чтобы контейнеры _были_.
В данном случае, повышение CAP_NET_RAW -> root может быть проэксплуатировано и без userns.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

10. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +/
Сообщение от EHLO on 11-Авг-17, 13:07 
>В данном случае, повышение CAP_NET_RAW -> root может быть проэксплуатировано и без userns

речь о том что через user namespaces можно получить рута без CAP_NET_RAW, в смысле поставить CAP_NET_RAW, не будучи рутом.
Это кроме очевидного выходе рута_в_контейнере из изоляции.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

31. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +/
Сообщение от Аноним (??) on 11-Авг-17, 15:14 
Потому, что CAP_NET_RAW, чаще всего, даётся контейнеру.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

11. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +/
Сообщение от Аноним (??) on 11-Авг-17, 13:12 
>> Уязвимости пока устранены только в Ubuntu, SUSE и openSUSE. Проблемы остаются неисправленными в Fedora, Debian и RHEL/CentOS.

Что скажут хейтеры убунты? Не ребрендинг дебиана всё же?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +2 +/
Сообщение от Аноним (??) on 11-Авг-17, 13:23 
>В Debian и Red Hat Enterprise Linux поддержка user namespaces по умолчанию не активирована, но она включена в Ubuntu и Fedora.

Вопросы?

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

47. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  –1 +/
Сообщение от Аноним (??) on 11-Авг-17, 16:27 
> предложены патчи, в том числе предложено полностью удалить подсистему UFO из ядра 4.14.

Наконец-то хороший патч.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

64. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +/
Сообщение от pda on 11-Авг-17, 20:05 
Почему удаление аппаратной обработки - хорошо? Или тут табличка "сарказм" потерялась?
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

104. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +/
Сообщение от Мегазаычы on 16-Авг-17, 00:59 
потому что читай cover message, вот почему. https://www.spinics.net/lists/netdev/msg443815.html

не умеют работать с источниками, а туда же, в айти лезут.

Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

105. "Уязвимости в реализации сокетов AF_PACKET и UDP-стеке ядра L..."  +1 +/
Сообщение от Аноним (??) on 16-Авг-17, 10:58 
Ну почему автор этой статьи (и других аналогичных) не упоминает, кто уязвимость нашел и ответственно разгласил?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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