В подсистеме epoll ядра Linux обнаружена уязвимость CVE-2026-46242, получившая название Bad Epoll. Это ошибка типа use-after-free, позволяющая локальному непривилегированному пользователю повысить привилегии до root. Затронуты ядра версии 6.4 и новее — десктопы, серверы и, как сообщается, Android. Публичный proof-of-concept доступен, однако признаков эксплуатации в реальных атаках нет. Уязвимость не включена в каталог CISA KEV. Патч уже выпущен — администраторам следует применить его незамедлительно.
Техническая суть уязвимости
Epoll — стандартный механизм ядра Linux для мультиплексирования ввода-вывода, используемый веб-серверами, сетевыми сервисами и браузерами. Отключить его невозможно, что исключает обходные пути.
По данным исследователя Jaeyoung Chung, опубликовавшего подробный технический разбор, проблема заключается в том, что два пути очистки в ядре одновременно обращаются к одному и тому же внутреннему объекту. Один путь освобождает память, пока второй ещё записывает в неё данные. Это классическая гонка (race condition), приводящая к повреждению памяти ядра и возможности повышения привилегий.
Ключевые технические характеристики, описанные исследователем:
- Тип уязвимости: use-after-free в подсистеме epoll
- Вектор атаки: локальный, не требует специальных привилегий
- Окно гонки: по оценке исследователя, около шести машинных инструкций
- Надёжность эксплойта: по данным Chung, достигает примерно 99% на тестовых системах благодаря технике расширения окна гонки и повторных попыток без краха системы
- Затронутые версии: ядра Linux, собранные на базе 6.4 и новее, без применённого патча
- Незатронутые версии: ядра на базе 6.1, поскольку уязвимый код появился только в 6.4
По утверждению исследователя, эксплойт предположительно может быть запущен из песочницы рендерера Chrome, которая блокирует большинство других ядерных уязвимостей. Эксплойт для Android, как сообщается, находится в разработке. Обе эти характеристики основаны на данных одного исследователя и не подтверждены независимо.
Происхождение и связь с ИИ-исследованиями
Обе уязвимости — CVE-2026-46242 (Bad Epoll) и связанная с ней CVE-2026-43074 — восходят к одному изменению в коде epoll, внесённому в 2023 году. По данным Chung, первую из двух ошибок (CVE-2026-43074) обнаружила модель Mythos от Anthropic, и исправление для неё было выпущено ранее в 2026 году. Anthropic заявляла об обнаружении уязвимостей повышения привилегий в ядре Linux с помощью своих моделей, хотя прямой публичной привязки к Bad Epoll компания не делала.
Вторую уязвимость — собственно Bad Epoll — ИИ не обнаружил. Chung предполагает две причины: крайне узкое окно гонки, затрудняющее моделирование точной последовательности событий даже при анализе кода, и отсутствие явных сигналов в рантайме — после исправления первой ошибки повреждение памяти от Bad Epoll, как правило, не срабатывает в KASAN (основном детекторе ошибок ядра).
Этот случай показателен: гонки остаются одним из наиболее сложных классов ошибок и для автоматизированного, и для ручного анализа.
Контекст: волна уязвимостей ядра Linux в 2026 году
Bad Epoll продолжает серию уязвимостей повышения привилегий в ядре Linux, используемых для получения root на Android: Bad Binder, Bad IO_uring, Bad Spin. Параллельно в 2026 году были раскрыты другие серьёзные уязвимости ядра — CVE-2026-31431 (Copy Fail), а также цепочки Dirty Frag, Fragnesia, DirtyClone и pedit COW. Большинство из них — детерминированные ошибки записи в страничный кэш, не требующие выигрыша гонки, что делает их более надёжными в эксплуатации.
Отдельно стоит упомянуть CVE-2026-31694 — уязвимость в коде файловой системы FUSE ядра Linux, для которой также доступен публичный PoC. Локальный пользователь с доступом к FUSE может подставить вредоносную файловую систему и вызвать повреждение памяти. Эта уязвимость представляет риск прежде всего для серверов и контейнерных сред, где доступ к FUSE через пользовательские пространства имён является стандартной практикой.
Оценка воздействия
Наибольшему риску подвержены:
- Серверы с многопользовательским доступом и ядрами 6.4+, где непривилегированный пользователь может получить полный контроль
- Контейнерные среды, в которых выход из контейнера через ядерную уязвимость компрометирует весь хост
- Android-устройства на ядрах 6.4+ — хотя эксплойт для Android ещё в разработке, сам вектор атаки применим
- Рабочие станции, где вредоносный код, запущенный от имени обычного пользователя, может эскалировать привилегии
Наличие публичного PoC с заявленной высокой надёжностью повышает вероятность появления боевых эксплойтов в обозримом будущем.
Рекомендации
- Применить патч. Установите апстрим-коммит a6dc643c6931 или дождитесь бэкпорта от вашего дистрибутива. Это единственная мера — обходных путей нет, поскольку epoll нельзя отключить.
- Проверить версию ядра. Уязвимы ядра 6.4 и новее без патча. Ядра на базе 6.1 не затронуты.
- Ограничить локальный доступ. До применения патча минимизируйте число пользователей с доступом к оболочке на критичных серверах.
- Мониторинг. Отслеживайте аномальные вызовы epoll и попытки повышения привилегий. Учитывайте, что KASAN может не фиксировать эту ошибку после патча CVE-2026-43074.
- Приоритет: высокий. Публичный PoC с высокой заявленной надёжностью, широкая поверхность атаки, отсутствие обходных путей.
Уязвимость Bad Epoll — локальное повышение привилегий через гонку в фундаментальной подсистеме ядра, которую невозможно отключить. При наличии публичного PoC и заявленной надёжности около 99% единственное эффективное действие — немедленное обновление ядра до версии, содержащей коммит a6dc643c6931. Организациям, использующим ядра 6.4+ на серверах, в контейнерах или на Android-устройствах, следует включить этот патч в ближайший цикл обновлений.