The OpenNET Project / Index page

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

Уязвимость в подсистеме io_uring ядра Linux, позволяющая поднять свои привилегии

19.09.2021 10:17

В ядре Linux выявлена уязвимость (CVE-2021-41073), позволяющая локальному пользователю поднять свои привилегии в системе. Проблема вызвана ошибкой в реализации интерфейса асинхронного ввода/вывода io_uring, приводящей к обращению к уже освобождённому блоку памяти. Отмечается, что исследователем удалось добиться освобождения памяти по заданному смещению при манипуляции с функцией loop_rw_iter() со стороны непривилегированного пользователя, что делает возможным создание рабочего эксплоита. Проблема пока устранена только в виде патча, который бэкпортирован в стабильные ветки ядра, но обновление ещё не выпущено (в сегодняшние обновления 5.14.6, 5.13.19 и 5.10.67 исправление не вошло).

Дополнение: Опубликован рабочий эксплоит и детальный разбор техники эксплуатации уязвимости.

  1. Главная ссылка к новости (https://seclists.org/oss-sec/2...)
  2. OpenNews: Уязвимости в ядре Linux, затрагивающие реализации VSOCK, Futex и io_uring
  3. OpenNews: Релиз ядра Linux 5.1 с включением поддержки io_uring
  4. OpenNews: Уязвимость в eBPF, позволяющая выполнить код на уровне ядра Linux
  5. OpenNews: Уязвимость в подсистеме ядра Linux Netfilter
  6. OpenNews: Root-уязвимость в ядре Linux и отказ в обслуживании в systemd
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/55828-io_uring
Ключевые слова: io_uring, kernel, vulnerability, security
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (31) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 10:29, 19/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    А что тут комментировать? И так все понятно.
     
  • 1.3, Аноним (3), 10:34, 19/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    > I plan to share the specifics for exploitation

    in the future.

    Piздеть не мешки ворочать. Расходимся, exploit даже не завезли.

    // b.

     
     
  • 2.4, Аноним (2), 10:52, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    То что он опубликует его позже совсем не значит что эксплойта нет.
    Просто хотят дать время на обнову.
    А если добавить щепотку теории заговоров, то это в общем доступе нет, а у кого надо может и есть.
     
     
  • 3.15, malloc (?), 12:07, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Это работает и в другую сторону. Заявление, что уязвимость есть, а эксплойта нет де-факто означает, что на практике проэксплуатировать её невозможно. И пока нету хотя бы PoC говорить о том, что это уязвимость рановато.

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

     
     
  • 4.31, YetAnotherOnanym (ok), 18:51, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Заявление, что уязвимость есть, а эксплойта нет де-факто означает, что для человека, способного только скачивать написанное другими, на практике проэксплуатировать её невозможно
     
  • 2.8, Аноним (8), 11:22, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    5.14.6 релизнули с фиксом: https://lwn.net/Articles/869748/

    // b.

     
     
  • 3.9, Аноним (9), 11:38, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так то mailline, а не lts.
     
     
  • 4.10, Аноним (8), 11:44, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    5.10.67
     
  • 4.35, ryoken (ok), 09:01, 20/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> mailline

    Ы?

     
     
  • 5.37, Аноним (37), 19:48, 20/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >>> mailline
    > Ы?

    Что "Ы"?

    Патчи же к этому ядру отсылают по (e)mail-у, так ведь?
    Вот поэтому-то оно и называется "mailline".

     
  • 3.20, Аноним (20), 12:35, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В списке изменений к 5.14.6  https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.14.6 есть несколько связанных с io_uring исправлений, но они не связаны с устранением обсуждаемой уязвимости.  Бага в коде loop_rw_iter(int rw, struct io_kiocb *req, struct iov_iter *iter) из fs/io_uring.c , а в 5.14.6 его не трогали.

    Если бы исправлили, должны были заменить

       req->rw.len -= nr;
       req->rw.addr += nr;
       iov_iter_advance(iter, nr);

    на

       if (!iov_iter_is_bvec(iter)) {
          iov_iter_advance(iter, nr);
       } else {
          req->rw.len -= nr;
          req->rw.addr += nr;
       }

     
     
  • 4.21, Аноним (8), 12:39, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо!

    Прочитал, что что-то в  io_uring исправили, автоматически подумал, что это и есть фикс.

    // b.

     
  • 4.22, Аноним (3), 12:43, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Накатил патч на 5.14.6, перезагрузился, всё работает.

     

  • 1.6, lufog (ok), 11:03, 19/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да здравствует Linux/Windows/BSD/etc (подчеркнуть нужное), самая не дырявая ос на свете! А если без шуток, что тут сказать, уязвимости есть везде, исправляют и ладно.
     
  • 1.11, Аноним (11), 11:54, 19/09/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     ....ответы скрыты (6)

  • 1.16, Аноним (16), 12:10, 19/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    За последние месяцы сотня уязвимостей в io_uring исправлена. Как и за месяцы до того. Теперь о каждой новости писать?
     
     
  • 2.17, Аноним (8), 12:11, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Так эта даёт local root - такое таки не часто.

    // b.

     
     
  • 3.19, Аноним (19), 12:19, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Ты задолбал своим бэ, нэймфаг.
     
     
  • 4.36, нах.. (?), 14:41, 20/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну дык его там поимели он сюда приперся.
     

  • 1.27, Какаянахренразница (ok), 14:13, 19/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > позволяющая поднять свои привилегии

    А зачем мне столько привилегий?..

     
     
  • 2.29, aname (?), 14:27, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы чекать
     
  • 2.32, мое правило (?), 19:29, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тоже так думаю. Жаль что не родились мы все крипаками у пана.
     
     
  • 3.39, Какаянахренразница (ok), 10:26, 29/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Тоже так думаю. Жаль что не родились мы все крипаками у пана.

    На своих машинах я единственный пользователь. Сам себе хозяин и сам себе раб. Зачем мне ещё какие-то привилегии? Перед кем привилегии?

     

  • 1.34, Аноним (34), 00:20, 20/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это всё проприетарщики виноваты!
     
  • 1.38, Аноним (38), 00:19, 24/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как буднично все стало в сводках по ядру. Раньше вон как в винде находили уязвимость, все дружно вопили: РЕШеТО111. а теперь...
     

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



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

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