В Linux нашли уязвимость Bad Epoll для получения root-доступа
Исследователь Jaeyoung Chung опубликовал техническое описание и PoC-эксплойт для уязвимости Bad Epoll в ядре Linux. Ошибка отслеживается как CVE-2026-46242 и позволяет непривилегированному локальному процессу повысить права до root. Проблема затрагивает Linux-десктопы, серверы и часть Android-устройств.
Bad Epoll представляет собой race-condition use-after-free в подсистеме epoll, которая используется для отслеживания событий ввода-вывода. Уязвимость возникает, когда два связанных epoll-объекта закрываются одновременно: один поток освобождает объект, пока другой продолжает в него писать. Это дает атакующему возможность повредить память ядра и развить атаку до получения root-доступа.
По словам исследователя, окно гонки составляет около шести машинных инструкций, поэтому случайно попасть в него крайне сложно. Однако опубликованный эксплойт расширяет это окно и использует повторные попытки без падения ядра. В результате атака достигает успешности около 99% на тестовых системах.
Уязвимость была отправлена в Google kernelCTF как 0-day. За такие эксплойты программа выплачивает вознаграждение от $71 337. Важность проблемы повышает то, что epoll нельзя просто отключить: это базовый механизм Linux, который используется операционной системой, сетевыми сервисами и браузерами.
Bad Epoll затрагивает ядра Linux начиная с версии 6.4. The Hacker News пишет, что исправление уже доступно, а SecurityWeek отмечает, что проблема была подтверждена в том числе на Pixel 10 с ядром 6.6. Старые 6.1-based ядра, включая некоторые Android-устройства, не затронуты, поскольку ошибка появилась позже.
Отдельно исследователь отметил, что уязвимость находилась в том же небольшом участке кода, где AI-модель Anthropic Mythos ранее обнаружила другую race-condition ошибку. Bad Epoll она пропустила. По мнению автора, это показывает, что гонки в ядре остаются сложными для поиска, исправления и надежной эксплуатации даже при использовании продвинутых инструментов анализа кода.