The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Локальная уязвимость в nftables, позволяющая повысить свои привилегии, opennews (??), 03-Июл-22, (0) [смотреть все]

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


4. "Локальная уязвимость в nftables, позволяющая повысить свои п..."  +1 +/
Сообщение от pavlinux (ok), 03-Июл-22, 13:00 
Чорт, опять мимо.

$ ./a.out
[-] unshare(CLONE_NEWUSER): Invalid argument

$ zcat /proc/config.gz | grep USER_NS
# CONFIG_USER_NS is not set

$ uname -srm
Linux 5.10.128 x86_64

Отрубайте, нах..., все NAMESPACES, до тех пор, пока
на 146% не будете уверены что оно вам надо, даже с LXC!  
Конкретно USER_NS уже баян дикий, начиная с момента его появления. )

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

16. "Локальная уязвимость в nftables, позволяющая повысить свои п..."  +/
Сообщение от Аноним (16), 03-Июл-22, 13:47 
Конечно, отрубайте все песочницы, малварь в браузерах особенно обрадуется.
Ответить | Правка | Наверх | Cообщить модератору

31. "Локальная уязвимость в nftables, позволяющая повысить свои п..."  +/
Сообщение от Аноним (-), 03-Июл-22, 14:53 
Конкретно USER_NS нужен, скорее, если ты openvz-like нечто хочешь сколхозить. И поскольку линевый кернел никогда не писался с делением на эн виртуальных систем, делать из одной системы эн, как с бы с типа-рутом, который, однако, все же не настоящий рут, при том что изначально в системе такого не было - все же чревато неочевидными багами.

Это именно тот самый случай когда тяжело было сову на глобус, но очень хотелось, поэтому как-то все же сделали. Но - все еще икается.

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

40. "Локальная уязвимость в nftables, позволяющая повысить свои п..."  +1 +/
Сообщение от Аноним (16), 03-Июл-22, 15:43 
А как насчёт забрать доступ в сеть у процесса занимающегося отрисовкой? И это только один из вариантов.
Ответить | Правка | Наверх | Cообщить модератору

53. "Локальная уязвимость в nftables, позволяющая повысить свои п..."  +/
Сообщение от Аноним (53), 03-Июл-22, 16:40 
Отрисовкой кого? Чего? USER_NS довольно базовая фича которая сама по себе вообще ортогональна отрисовке чего либо. Не понимаю ваш полет мысли.

Если мы про права, то неймспейсы вообще непривилегированым юзерам лучше не позволять создавать, во избежание собственно повышения прав, там "острые углы" возможны и в других случаях иногда. Это, правда, делает создание контейнеров менее удобным занятием.

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

54. "Локальная уязвимость в nftables, позволяющая повысить свои п..."  +/
Сообщение от Аноним (16), 03-Июл-22, 16:58 
Я имею в виду именно CLONE_NEWUSER, а не USER_NS. Отрисовкой чего-нибудь. Страницы с текстом, например. Или шейдеров, без которых плавной прокрутки не будет. Медиа-контента, опять же. Если у непривилегированного процесса нет возможности порезать свои права, то, в лучшем случае, ему придётся при каждом запуске поднимать свои права до рута, без которого возможностей для изоляции не будет. Т.е., в итоге, вместо бесправного бинаря бесправного пользователя у малвари уже есть суидный бинарь.
Ответить | Правка | Наверх | Cообщить модератору

78. "Локальная уязвимость в nftables, позволяющая повысить свои п..."  +/
Сообщение от Аноним (-), 03-Июл-22, 22:07 
> Я имею в виду именно CLONE_NEWUSER, а не USER_NS.

Я его и имел в виду. Простите, unshare() и clone() сами по себе вообще понятия не имеют, рендерите вы там чего-то или нет потом. Не его это собачье дело.

> Отрисовкой чего-нибудь. Страницы с текстом, например.

Ух, круто, а откуда ядру заранее знать будете вы это делать когда-то потом или нет? Это как максимум можно на уровне процесса обыграть но это требует чтобы кодеры тех программ явно захотели такое - и к тому же оно имеет свои острые углы.

> Или шейдеров, без которых плавной прокрутки не будет.

Шейдеры это вообще программа для GPU выполняемая на стороне GPU. К плавной прокрутке не особо относится само по себе.

> Медиа-контента, опять же.

Опять же выводить его можно по разному и заранее неизвестно будете вы это делать или нет.

> Если у непривилегированного процесса нет возможности порезать свои права,

C namespaces все чуть сложнее чем это. Давать бесправному юзеру плодить вложенные виртуальные операционки, возможно даже с виртуальным рутом внутрях который СВОЮ виртуальную копию имеет право менеджить, а наружу - нет, все же довольно стремно.

Кернел с самого начала не делался под настолько мощные абстракции и в конечном итоге проблема в том что в каких-то краевых случаях может немного "девиртуализоваться" если кто-то где-то логику проверок прав прошляпил. Потенциально насыпав лишние права бесправному юзеру.

С другой стороны, если это дать только elevated юзерам, придется при запуске подкидывать права сначала. И это тоже может быть довольно чревато, т.к. бесправный юзер ухитрившийся вклиниться между подъемом прав и сбросом опять же получит некие дивиденды.

> то, в лучшем случае, ему придётся при каждом запуске поднимать свои права до рута,
> без которого возможностей для изоляции не будет. Т.е., в итоге, вместо
> бесправного бинаря бесправного пользователя у малвари уже есть суидный бинарь.

В теории я могу себе представить специфичные CAP_* менее мощные чем CAP_SYS_ADMIN, на вот именно подобные операции, может даже на отдельные namespaces, но это не реализовано.

Если не понятно что это на нижнем уровне: man 2 unshare и man 2 clone. Изначально так то идея довольно мощная и крутая. Но это настолько за пределами изначальных абстракций что вызывает странные проблемы.

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

85. "Локальная уязвимость в nftables, позволяющая повысить свои п..."  +/
Сообщение от Аноним (16), 03-Июл-22, 22:43 
Именно он позволяет любому пользовательскому процессу произвольно ограничить свои привилегии, и, если не запрашивать ему "виртуального" рута, то и прав сделать что-либо у такого процесса (и его детей, что немаловажно) уже не будет.
Ответить | Правка | Наверх | Cообщить модератору

87. "Локальная уязвимость в nftables, позволяющая повысить свои п..."  +/
Сообщение от Аноним (-), 03-Июл-22, 23:06 
> Именно он позволяет любому пользовательскому процессу произвольно ограничить свои привилегии,
> и, если не запрашивать ему "виртуального" рута, то и прав сделать
> что-либо у такого процесса (и его детей, что немаловажно) уже не будет.

В теории. На практике... были и иные странные вещи, например, когда процесс что-то вытворяет в своем пространстве монтирования и это ведет к странным результатам более глобально.

Изначально ядро не кодили с идеей что 1 система будет расщеплена на N независимых-типа. Иногда ус немного отклеивается.

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

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

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




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

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