Уязвимость в подсистеме io_uring ядра Linux, позволяющая повысить привилегии в системе
В реализации интерфейса асинхронного ввода/вывода io_uring, входящего в ядро Linux начиная с выпуска 5.1, выявлена уязвимость (CVE-2022-2602), позволяющая непривилегированному пользователю получить права root в системе.
▪️Наличие проблемы подтверждено в ветке 5.4 и ядрах начиная с ветки 5.15.
Уязвимость вызвана обращением к уже освобождённому блоку памяти в подсистеме io_uring, которое возникает в результате состояния гонки при обработке запроса io_uring над целевым файлом во время выполнения сборки мусора для Unix-сокетов, если сборщик мусора освобождает все зарегистрированные файловые дескрипторы и файловый дескриптор с которым работает io_uring.
▫️Для искусственного создания условий проявления уязвимости можно задержать запрос при помощи userfaultfd до момента, когда сработает освобождение памяти сборщиком мусора.
Выявившие проблему исследователи объявили о создании рабочего эксплоита, который намерены опубликовать 25 октября, чтобы дать пользователям время на установку обновлений. Исправление пока доступно в виде патча. Обновления для дистрибутивов пока не выпущены.