The OpenNET Project / Index page

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

Уязвимости в Netfilter и io_uring, позволяющие повысить свои привилегии в системе

09.05.2023 11:21

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

  • Уязвимость (CVE-2023-32233) в подсистеме Netfilter, вызванная обращением к памяти после её освобождения (use-after-free) в модуле nf_tables, обеспечивающем работу пакетного фильтра nftables. Уязвимость может быть эксплуатирована через отправку специально оформленных запросов на обновление конфигурации nftables. Для проведения атаки требуется наличие доступа к nftables, который можно получить в отдельном сетевом пространстве имён (network namespaces) при наличии прав CLONE_NEWUSER, CLONE_NEWNS или CLONE_NEWNET (например, при возможности запуска изолированного контейнера).

    Чтобы дать пользователям время на установку обновлений выявивший проблему исследователь пообещал отложить на неделю (до 15 мая) публикацию детальной информации и примера рабочего эксплоита, предоставляющего root shell. Уязвимость устранена в обновлении 6.4-rc1. Проследить за исправлением уязвимости в дистрибутивах можно на страницах: Debian, Ubuntu, Gentoo, RHEL, Fedora, SUSE/openSUSE, Arch.

  • Уязвимость (CVE-2023-2598) в реализации интерфейса асинхронного ввода/вывода io_uring, входящего в ядро Linux начиная с выпуска 5.1. Проблема вызвана ошибкой в функции io_sqe_buffer_register, позволяющей получить доступа к физической памяти за границей статически выделенного буфера. Проблема проявляется только в ветке 6.3 и будет устранена в готовящимся обновлении 6.3.2. Для тестирования уже доступен рабочий прототип эксплоита, позволяющий выполнить код с привилегиями ядра.


  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Уязвимость в подсистеме ядра Linux Netfilter
  3. OpenNews: Ещё одна уязвимость в подсистеме ядра Linux Netfilter
  4. OpenNews: Уязвимость в подсистеме netfilter, позволяющая выполнить код на уровне ядра Linux
  5. OpenNews: Уязвимость в подсистеме io_uring ядра Linux, позволяющая повысить привилегии в системе
  6. OpenNews: Уязвимость в подсистеме io_uring, приводящая к повышению привилегий
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59101-netfilter
Ключевые слова: netfilter, nf_tables, io_uring
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (60) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.5, Анонимусс (?), 12:06, 09/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    use-after-free и доступа за границей статически выделенного буфера.
    Еще и с прототипом эксплойта.
    - if (page_folio(pages[i]) != folio) {
    + if (page_folio(pages[i]) != folio ||
    +     pages[i] != pages[i - 1] + 1) {
    Опять бедняги запутались в индексах...
     
     
  • 2.17, ИмяХ (?), 13:45, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Никто не запутался, налицо явный бэкдор. Нужно быть полным дауном, чтобы так сделать нечаянно, но, если бы он был дауном, его бы просто не допустили коммитить в ядро. Так что тут, по хорошему, коммитера надо привлечь к уголовной ответственности, чтоб другим не повадно было так делать.
     
     
  • 3.24, Аноним (24), 14:32, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Никто не запутался, налицо явный бэкдор.

    Универсальное оправдание для любого сишного кода.

     
     
  • 4.49, Аноним (-), 03:36, 10/05/2023 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
  • 3.26, Анонимусс (?), 14:38, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Гениальное решение!
    Одна посадка отобьет желание не то что контрибьютить в опенсорс на годы вперед, а вообще подходить к нему ближе чем на 100 метров.
    А потому будут удивляться, почему это проекты загибаются, т.к. поддерживать больше некому.
     
     
  • 4.54, Sw00p aka Jerom (?), 08:21, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >т.к. поддерживать больше некому.

    А что есть поддержка? Добавление новых багов (бекдоров) - спасибо, в топку таких. Новые фичи? - чревато смузитоксикозом :)

     
     
  • 5.60, Анонимусс (?), 10:42, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А старые баги и бекдоры, ну те, которые деды добавляли 5-10 лет назад, кто фиксить будет?
    Вот если бы тут собралась команда ссупер-сишников и показали бы как пишут настоящие™ погромисты®...
    Но они еще собираются для спасения кловера от ржавления, нужно чуток подождать))
     
  • 4.61, Бывалый смузихлёб (?), 11:07, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Типам платят деньхи за работу
    Просто так неведомо кто любое гамно в ядро вывалить не может. Для этого есть специальный товарищ, проверенный временем. Но и за тем что он вываливает тоже пристально смотрят. Столь тупейшие косяки не могут пройти проверки кода если только это не целенаправленно и согласованно пропихивали с возможностью всё свалить на баг или недоработку если кто вдруг обнаружит-таки
     
     
  • 5.62, Анонимусс (?), 13:11, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Типам платят деньхи за работу

    И? В мире мало людей, которые получаеют деньги и фигово выполняют свою работу? Теперь что, их всех посадить?

    Удивительно что есть те, кто не понимает что нельзя так просто взять и посадить человека в тюрьму.
    Не, ну т.е. есть места где можно, но не будем про них.

    > Столь тупейшие косяки не могут пройти проверки кода если только это не целенаправленно и согласованно

    Как показывает практика - могут. Иначе каждая вторая cve в опенсорсе - это бекдор. И честных людей вообще нет)) А утаить такие договорняки с таким кол-вом задействованных людей за столько столько лет ну очень сложно.

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

     
  • 3.46, вымя (?), 00:56, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Нужно быть полным дауном, чтобы так сделать нечаянно

    Дай угадаю: твоя скорость разработки всего лишь 100 LoC в год?

     
  • 3.52, Илья (??), 07:26, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это я вас так проверял🫠
     
  • 3.63, Аноним (63), 14:30, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какой ты ретивый. Правовую базу за кривые коммиты ты напишешь?
     
  • 3.70, Kuromi (ok), 16:18, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    "Проблема проявляется только в ветке 6.3 и будет устранена в готовящимся обновлении 6.3.2."

    Какой-то так себе бэкдор, который отловили практически сразу причем в версии ядра которая еще даже не особо разошлась по дистрибутивам.

     

  • 1.6, Шарп (ok), 12:22, 09/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    >use-after-free  
    >за границей статически выделенного буфера

    Это всё из-за сишечки. Пора её выкинуть и заменить на что-то более безопасное, не позволяющее жонглировать указателями как обезьяна, например rust. Растохейтеры вновь посрамлены.

     
     
  • 2.7, pashev.ru (?), 12:30, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    На самом деле нужна Гарвардская архитектура, а не неймановская. Раст не поможет )
     
     
  • 3.8, Бывалый смузихлёб (?), 12:35, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    но будет ли нормально работать JIT на оном ?
     
  • 2.9, Аноним (9), 12:59, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Давно уже пора переписать на Mojo.
     
     
  • 3.48, Jorik (?), 01:23, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На хyëджи )

    Как только оно вообще станет не то, что опенсорсным, а хотя бы доступным локально, а не по запросу через форму и с компиляцией на их удалённом бэкенде only.

     
     
  • 4.67, Аноним (9), 16:04, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Haters gonna hate.
     
  • 2.11, MeduiIthron (ok), 13:04, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если rust такой из себя навороченный, то как он на E2K и Loongson себя чувствует?
     
     
  • 3.12, Анонимусс (?), 13:07, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Loongson чисто китайское поделие для внутреннего рынка.
    Почему бы им самим не добавить поддержку своей же архитектуры в llvm?

    А про E2K вообще можно не вспоминать))

     
     
  • 4.15, Аноним (15), 13:35, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы программисты не стали писать софт для враждебного для Китая llvm.
     
     
  • 5.20, Анонимусс (?), 14:12, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем тогда llvm добавлять поддержку архитектуры враждебного для них китая?
     
     
  • 6.30, Аноним (9), 15:38, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы всё таки захватить Китай.
     
  • 4.25, anonn (?), 14:33, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Его и добавляют и в ллвм, и в раст https://github.com/rust-lang/rust/pull/110936.
     
     
  • 5.55, Аноним (55), 08:23, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Радует, что даже в КНР не такие упоротые, как E2K.
     
     
  • 6.56, Аноним (56), 08:34, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так там тупо мипс, что тут сравнивать?
     
     
  • 7.74, Аноним (-), 02:41, 11/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Так там тупо мипс, что тут сравнивать?

    Уже вроде не совсем MIPS а с своими улучшениями. И как раз это довольно умно - тулчейны и поддержка в софте уже в целом были, доделать немного остается.

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

     
  • 2.28, Аноним (28), 15:07, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > жонглировать указателями

    идеальный язык для написания ОС.

     
  • 2.39, Госпидя (?), 21:43, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
        Это всё из-за сишечки. Пора её выкинуть и заменить на что-то более безопасное, прячущее указатели от маленьких детей, например rust. Растохейтеры вновь посрамлены.

      Исправил, не благодари.

    Может, лучше маленьких детей не пускать куда не следует? (Например, в ядро :) )


     
     
  • 3.44, Анонимусс (?), 23:06, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Раст ни от кого указатели не прячет. Пишешь что-то вроде let my_num: *mut i32 = libc::malloc(mem::size_of::<i32>()) as *mut i32;  или let my_num_ptr: *const i32 = &my_num; и все у тебя есть.
    Просто это будет unsafe, т.к компилятор умывает руки и за все ты отвечаешь сам, хотя часть вещей все равно проверяется.

    А пока что дедам ядре нужно опять менять подгузники. Ну, бывает, старость не радость.

     
     
  • 4.71, Госпидя (?), 18:07, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    О, а можно пояснительную бригаду....
    let my_num_ptr: *const i32 = &my_num;
    То есть указатель на статическую переменную тоже будет unsafe?
     
     
  • 5.73, Анонимусс (?), 20:51, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если правильно понял вопрос, то да указатель на статическую переменную тоже будет unsafe.
    Но не очень понятно зачем, если можно взять ссылку на нее же без unsafe.
    https://doc.rust-lang.org/std/primitive.pointer.html
    https://doc.rust-lang.org/std/primitive.reference.html
     
  • 3.53, Илья (??), 07:46, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Потому сишников и не любят.

    Вы себя мните специалистами, которые никогда не ошибаются. А кто ошибается - тех клеймите.

    А по сути пишите дырявые решета, в которых после десяти лет использования находят специфичные ошибки.

    Секта, ей богу.

     
     
  • 4.58, Аноним (58), 08:47, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    наверное ты написал пару недырявых программ на яваскрипт
     

  • 1.16, Аноним (16), 13:43, 09/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > io_uring

    Отключаю эту штуку, потому что в природе существует ровно 0 (ноль, zero, nil) программ, использующих ее, зато есть over 9000 эксплоитов. io_uring -- это crackme.exe внутри ядра.

     
     
  • 2.19, ivan_erohin (?), 14:02, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > существует ровно 0 (ноль, zero, nil) программ, использующих ее

    раньше я думал так же. но год назад оказалось, что MariaDB хочет эту io_uring.
    без нее работает, но я не стал копать дальше.
    так же не знаю что там со сборками MySQL от оракла и перконы.

     
  • 2.23, Карлос Сношайтилис (ok), 14:31, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это новая штука, к тому же - недописанная ещё.
    Использовать её будут и весьма интенсивно, все кто плотно работает с вводом-выводом, выкидывая ранее написанные костыли.
     
     
  • 3.78, Аноним (78), 11:30, 11/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    epoll костыль?
     
  • 2.29, Аноним (56), 15:08, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Qemu и lxc, как минимум, про остальных не в курсе. И они не сегодня стали использовать, уже лет 5, ты просто не осведомлён.
     
  • 2.34, Аноним (34), 17:45, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Samba для вас какая-то шутка?
     
     
  • 3.65, ivan_erohin (?), 14:46, 10/05/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.72, Аноним (58), 18:16, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    там приличный выигрыш по сравнению с другими механизмами io в линуксе так что его будут использовать всё больше... по сути это вообще асинхронный сискол
     
     
  • 3.77, Аноним (-), 10:32, 11/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А также zerocopy интерфейс между ядром и юзерспейсом, что довольно эффективно.
     
  • 2.75, Аноним (-), 02:45, 11/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Отключаю эту штуку, потому что в природе существует ровно 0 (ноль, zero,
    > nil) программ, использующих ее,

    Это уже совершенно точно неверное утверждение. Даже либа для этого есть и у нее в reverse depends уже есть софт.

    > зато есть over 9000 эксплоитов. io_uring -- это crackme.exe внутри ядра.

    Да вообще охренеть, оказывается в новых фичах бывают баги. А так фича - для low overhead IO. К тому же zerocopy, даже между юзером и кернелом. Так что ее скорость работы может быть весьма почтенная. Но да, это довольно опасная и деликатная игра. Но она стоит свеч.

     

  • 1.22, Карлос Сношайтилис (ok), 14:28, 09/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А где эти все санитайзеры и смарт-чеккеры, которые должны эти детские ошибки вылавливать?
     
     
  • 2.32, anonymous (??), 16:36, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Это были неправильные сишники, правильные бы написали как надо, вы не понимаете.
     
  • 2.51, Советский инженер (?), 05:54, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ой все.
     
  • 2.76, Аноним (-), 10:30, 11/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А где эти все санитайзеры и смарт-чеккеры, которые должны эти детские ошибки
    > вылавливать?

    Ну а как вы думали вон те баги исследоватеоли вылавливают? Пускают какого-нибудь syzcaller'а под вон той инструментацией, оно наворачивается, факап анализируют - и вот - ага! - репортят и фиксят.

    А как вы думаете почему это все стали замечать вот именно сейчас? Потому что обложили все fuzzing и тестами наконец - оно и стало лажу в коде выявлять. И разумеется не везде и не сразу, код огроменный, все состояния и закоулки прозвонить в немеряной кодовой базе которой за 30 лет - ну вы поняли. Когда у вас будет такое же, посмотрим что будет у вас и сколько CVE там получится. А сравнивать с фигой в кармане это игра в одни ворота.

     

  • 1.27, Nyanpasuu (?), 14:43, 09/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Кто тут ждёт оправдания сишников?
     
     
  • 2.31, Аноним (9), 15:38, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Те кто собираются все переписать на Mojo.
     
     
  • 3.35, Баребух (?), 18:05, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Сходи на улицу, проветрись, подыши полной грудью, а то что-то тебя заклинило на этом Mojo
     
     
  • 4.41, Аноним (41), 22:35, 09/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Мохо - мохито?
     
  • 4.68, Аноним (9), 16:04, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Mojo новый модный тренд.
     

  • 1.50, Аноним (50), 04:50, 10/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не пашет их exploit в 6.3:

    '''
    ./exploit
       0.000 | No command specified, using /bin/sh </dev/pts/30 &>/dev/pts/30
       0.085 | Created 9992 / 9992 victim objects
       0.174 | Created 9992 / 9992 files
    Failed to register buffer: Bad address
    '''

     
     
  • 2.57, Аноним (56), 08:38, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    От рута запускай. Ну, cap_sys_admin. Все уязвимости с неймспейсами требуют рута и он у них есть на практике.
     
     
  • 3.64, Анонимс8470528 (?), 14:44, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    От пользователя. Читаем новость ещё раз:
    >позволяющие локальному пользователю повысить свои привилегии в системе
     
     
  • 4.66, Аноним (56), 14:54, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > От пользователя. Читаем новость ещё раз:
    >>позволяющие локальному пользователю повысить свои привилегии в системе

    Рут -- это локальный пользователь, который может захотеть повысить свои привелегии в системе. А cap_sys_admin -- это вообще любой пользователь, права-то у файла.

     
  • 3.69, Kuromi (ok), 16:13, 10/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Обнаружена новая уязвимость - зловред sudo позволяет пользователю повысить свои привелегии!
     

  • 1.59, Прохожий (??), 09:12, 10/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сишники сейчас как придут, как займутся верификацией... Ещё пару десятков лет пройдёт незамеченными...
     

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



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

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