في القلب Linux раскрыта уязвимость استطلاع رأي سيئ, зарегистрированная как CVE-2026-46242. Она позволяет обычному локальному пользователю без специальных прав повысить привилегии до root. По данным автора исследования Джэёна Чона, проблема затрагивает не только Linux-десктопы и серверы, но и часть Android-устройств на новых версиях ядра — это отдельно подчёркивается в описании Bad Epoll.
Ошибка находится в подсистеме إبول — стандартном механизме Linux для отслеживания множества файловых дескрипторов, сетевых соединений и событий ввода-вывода. Такие механизмы активно используют серверы, браузеры и сетевые сервисы, поэтому просто отключить epoll нельзя. В техническом разборе уязвимость описана как гонка, приводящая к استخدام خالية بعد: при одновременном закрытии связанных epoll-объектов один поток освобождает внутренние структуры, а другой продолжает к ним обращаться.
Если точнее, проблема проявляется при ситуации, когда один epoll-дескриптор следит за другим, а оба дескриптора закрываются параллельно. После вызова __ep_remove() поле file->f_ep временно обнуляется, и конкурирующий __fput() может решить, что дополнительная очистка уже не нужна. В результате объект struct eventpoll или связанный с ним struct file освобождается слишком рано, но код продолжает работать с указателями на уже освобождённую память. Именно это и даёт атакующему примитив для повреждения памяти ядра.
Для атаки не нужны дополнительные capabilities и не требуются user namespaces — достаточно наличия CONFIG_EPOLL, что делает проблему особенно неприятной для обычных Linux-систем. Согласно первичному отчёту исследователя, баг был внесён в ядро коммитом 58c9b016e128 в 2023 году, а исправлен коммитом a6dc643c693.
Несмотря на очень узкое окно гонки, исследователь подготовил рабочий эксплойт для Google kernelCTF. В описании эксплуатации показано, как ошибка превращается в 8-байтную запись в освобождённую структуру, затем в утечку памяти ядра через /proc/self/fdinfo, перехват file->f_op->poll и ROP-цепочку для получения root. Для цели lts-6.12.67 заявлена надёжность около 99%, для COS — около 98%; Android-эксплойт, по словам автора, ещё находится в работе.
Под ударом находятся ядра, основанные на ветке 6.4 وأحدث, если в них не перенесено исправление. Старые Android-устройства на ядрах 6.1, включая Pixel 8 и похожие модели, автор считает неуязвимыми. Пользователям и администраторам остаётся единственный нормальный вариант защиты — установить обновление ядра от своего дистрибутива или вендора устройства.
المصدر: linux.org.ru
