LINUX.ORG.RU
решено ФорумTalks

Повод обновить ядро CVE-2023-32233

 , root shell, ,


0

2

Пишут, что в Netfilter есть уязвимость, позволяющаяя повысить привилегии локальному пользователю. Эксплуатируется через модуль nf_tables.

Рабочий root shell исследователь покажет 15 мая.

Следите за новостями обновлений своих дистрибутивов в связи с CVE-2023-32233.

https://www.openwall.com/lists/oss-security/2023/05/08/4

Update. Описание техники эксплуатации https://www.openwall.com/lists/oss-security/2023/05/15/5

★★★★★

Последнее исправление: vvn_black (всего исправлений: 3)

Ответ на: комментарий от alex1101

Сейчас уже более актуально составлять список уязвимостей последних лет, которые не относятся к use-after-free или к спекулятивному выполнению — потому что это два самых популярных сейчас типа.

Vsevolod-linuxoid ★★★★★
()

Очень странно, каким боком nftables доступен не-руту вообще? Там пишут что уязвимость именно в запросах на его настройку.

firkax ★★★★★
()

Эксплуатируется через модуль nf_tables.

А я говорил, что пока рано ipchains закапывать... но нет же, закопали...

anc ★★★★★
()
Ответ на: комментарий от firkax

opennet:

Для проведения атаки требуется наличие доступа к nftables, который можно получить в отдельном сетевом пространстве имён (network namespaces) при наличии прав CLONE_NEWUSER, CLONE_NEWNS или CLONE_NEWNET (например, при возможности запуска изолированного контейнера). 
vvn_black ★★★★★
() автор топика
Ответ на: комментарий от vvn_black

Учитывая что создавать неймспейсы без рута тоже не получится, получается что дыра не в ядре вообще, а только в ненадёжной изоляции контейнеризованного рута от хоста. Значит пофиг. А докероюзеры пусть страдают, им не впервой.

Из нормального наверно LXC задето.

firkax ★★★★★
()

Пофиг, возможностей повысить привилегии локальному пользователю на локалхостной помойке миллион.

snizovtsev ★★★★★
()
Ответ на: комментарий от firkax

Учитывая что создавать неймспейсы без рута тоже не получится

Получится, с user namespaces. И это замечательно.

Дыры, конечно, не замечательно, но это издержки.

Siborgium ★★★★★
()
Ответ на: комментарий от anc

CVE-2011-0725 – моя ачивка. Я тогда ещё студентом был. Это не говоря про банальный docker и проброс / в рутовый контейнер под юзером как volume.

snizovtsev ★★★★★
()
Последнее исправление: snizovtsev (всего исправлений: 2)
Ответ на: комментарий от snizovtsev

CVE-2011-0725 – моя ачивка.

Повезло, реально повезло, у меня был случай когда это понадобилось и ничего рабочего не нашлось :( Понадобилось по делу, очень удаленный сервак и пролюбленый пароль рута. Напрягать местных было не айс, поэтому просто забил на это дело отложив на «до следующего приезда», пользовательской учетки было вполне достаточно.

anc ★★★★★
()
Ответ на: комментарий от anc

Берёшь любой не слишком популярный кусок кода (на выбор нужно потратить несколько дней), фаззишь или вдумчиво вычитываешь его от 2 дней до недели – и обязательно что-нибудь да найдётся. Чем больше код выглядит как говнокод, тем лучше. Серверные компоненты более-менее в надлежайшем состоянии, а вот за безопасностью десктопных не особо кто следит и они куда более запутаны. В каком-нибудь DRM и интеловских драйверах графики наверняка полно мест, которые можно использовать.

snizovtsev ★★★★★
()
Последнее исправление: snizovtsev (всего исправлений: 4)
Ответ на: комментарий от snizovtsev

от 2 дней до недели – и обязательно что-нибудь да найдётся.

Дядя, да вы просто монстр, почему благодаря вам ещё не опубликованы тысячи CVE-20NN-NNNN ? Ведь это так просто, всего неделю потратить.

anc ★★★★★
()
Ответ на: комментарий от anc

Это примерно как спорт. В теории все могут тренироваться каждую неделю и лидировать на марафонах. На практике это делают единицы. Вот и с мозгами также – пару раз я нашёл волю для гиперфокуса и получил такие 2 ачивки за много лет. А в остальное время занимался другими делами, рутиной и отупением в ютупчике.

snizovtsev ★★★★★
()
Последнее исправление: snizovtsev (всего исправлений: 1)

Попробовал собрать эксплоит, но нет:

sample01.c: В функции «pwn_create_dynset_set»:
sample01.c:599:60: ошибка: «NFT_SET_EXPR» не описан (первое использование в этой функции); имелось в виду «NFTA_SET_EXPR»?
  599 |     nftnl_set_set_u32(set, NFTNL_SET_FLAGS, NFT_SET_EVAL | NFT_SET_EXPR);
      |                                                            ^~~~~~~~~~~~
      |                                                            NFTA_SET_EXPR
sample01.c:599:60: замечание: сообщение о каждом неописанном идентификаторе выдается один раз в каждой функции, где он встречается
sample01.c: В функции «pwn_create_dynset_rule»:
sample01.c:678:58: ошибка: «NFT_PAYLOAD_INNER_HEADER» не описан (первое использование в этой функции); имелось в виду «NFT_PAYLOAD_LL_HEADER»?
  678 |     nftnl_expr_set_u32(payload, NFTNL_EXPR_PAYLOAD_BASE, NFT_PAYLOAD_INNER_HEADER);
      |                                                          ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                                          NFT_PAYLOAD_LL_HEADER
sample01.c:692:57: ошибка: «NFT_DYNSET_F_EXPR» не описан (первое использование в этой функции); имелось в виду «NFTA_DYNSET_EXPR»?
  692 |     nftnl_expr_set_u32(dynset, NFTNL_EXPR_DYNSET_FLAGS, NFT_DYNSET_F_EXPR);
      |                                                         ^~~~~~~~~~~~~~~~~
      |                                                         NFTA_DYNSET_EXPR
sample01.c: В функции «clone_with_longjmp»:
sample01.c:1875:34: ошибка: «PTHREAD_STACK_MIN» не описан (первое использование в этой функции)
 1875 |     char helper_stack_buffer[2 * PTHREAD_STACK_MIN + __BIGGEST_ALIGNMENT__];
      |                                  ^~~~~~~~~~~~~~~~~
sample01.c:1875:10: предупреждение: неиспользуемая переменная «helper_stack_buffer» [-Wunused-variable]
 1875 |     char helper_stack_buffer[2 * PTHREAD_STACK_MIN + __BIGGEST_ALIGNMENT__];
      |          ^~~~~~~~~~~~~~~~~~~
sample01.c: В функции «cpu_spinning_loop»:
sample01.c:1891:32: ошибка: опущено имя параметра
 1891 | static void *cpu_spinning_loop(void *)

Xintrea ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)