Уязвимость Fragnasia позволяет получить root на Linux без состояния гонки
Исследователь Zellic раскрыл Fragnasia — логическую ошибку в XFRM ESP-in-TCP, которая даёт любому локальному пользователю права root. PoC опубликован.
Новости TprogerОбновите ядро Linux: исследователь Zellic обнаружил новую уязвимость класса Dirty Frag, получившую имя Fragnasia и идентификатор CVE-2026-46300. Она затрагивает все ядра, выпущенные до 13 мая 2026 года, и позволяет непривилегированному локальному пользователю повысить привилегии до root — без состояния гонки и без предварительных прав.
Fragnasia — самостоятельная логическая ошибка в подсистеме XFRM ESP-in-TCP ядра Linux. Используя её, атакующий может записывать произвольные байты в кэш страниц доступных только для чтения файлов (page cache), в том числе системных бинарников, и таким образом, например, подменить содержимое /usr/bin/su, чтобы получить оболочку с правами root.
Ключевые выводы
CVE-2026-46300 затрагивает все ядра Linux до 13 мая 2026 года.
Уязвимость позволяет локальному пользователю получить root без состояния гонки.
Эксплойт PoC уже опубликован исследователем William Bowling (Zellic).
Fragnasia относится к классу Dirty Frag, но это отдельный баг с отдельным патчем.
Временная мера: выгрузить модули esp4, esp6, rxrpc (ломает IPsec и AFS).
Что такое Fragnasia и как она связана с Dirty Frag
Уязвимость была раскрыта Уильямом Боулингом, руководителем направления assurance в компании Zellic, 13 мая 2026 года. Вместе с отчётом он опубликовал рабочий proof-of-concept эксплойт: он записывает примитив memory-write в ядро, затем через него портит page cache бинарника /usr/bin/su, чтобы получить root-оболочку.
Fragnasia принадлежит к новому классу уязвимостей Dirty Frag, который был раскрыт неделей ранее. Dirty Frag объединяет баги в том же XFRM-коде, позволяющие модифицировать защищённые системные файлы в памяти. Однако в отличие от оригинального Dirty Frag, который цепляет два отдельных CVE (CVE-2026-43284 и CVE-2026-43500) через состояние гонки, Fragnasia — самостоятельный баг, требующий отдельного патча.
Fragnasia — член класса уязвимостей Dirty Frag. Это отдельный баг в ESP/XFRM, отличный от dirtyfrag, с собственным патчем. Однако он находится в той же поверхности атаки, и митигация для него такая же, как для dirtyfrag. Он злоупотребляет логической ошибкой в подсистеме Linux XFRM ESP-in-TCP для произвольной побайтовой записи в page cache файлов только для чтения — без какой-либо состояния гонки.
Как работает эксплойт Fragnasia: технические детали CVE-2026-46300
Ошибка находится в подсистеме XFRM — фреймворке трансформации пакетов ядра Linux, используемом для реализации IPsec. Конкретно затронут путь обработки ESP-пакетов поверх TCP-соединений (ESP-in-TCP). Логический баг позволяет выйти за пределы разрешённых операций записи и изменить содержимое страниц в page cache — включая страницы, отображённые из файлов, которые открыты только на чтение (O_RDONLY).
Механизм эксплойта PoC: злоупотребляя этим примитивом записи, атакующий перезаписывает page cache системного бинарника /usr/bin/su. Поскольку запись происходит в памяти (а не на диске), после перезагрузки бинарник восстанавливается. Для сервера с непрерывной работой это сценарий полного захвата: root-доступ без следов на диске.
Как защититься
Полная защита — обновление ядра до версии, выпущенной 13 мая 2026 года или позже. Дистрибутивы Linux уже выпускают патчи. Если обновление невозможно немедленно, применяйте временную митигацию:
Важно: выгрузка модулей сломает AFS (распределённая файловая система) и IPsec VPN. Оцените последствия перед применением в продакшне.
Эти же команды используются для митигации Dirty Frag — они отключают уязвимые модули ядра и запрещают их повторную загрузку через /etc/modprobe.d/dirtyfrag.conf.
- Проверьте версию ядра:
uname -r - Обновитесь через менеджер пакетов:
apt upgrade/dnf upgrade/yum update - Перезагрузите систему для загрузки нового ядра
- Если обновление невозможно — выгрузите esp4, esp6, rxrpc командами выше
Контекст: волна уязвимостей класса Dirty Frag
Раскрытие Fragnasia происходит на фоне нескольких недавних серьёзных уязвимостей в ядре Linux:
- Dirty Frag (CVE-2026-43284 + CVE-2026-43500) — предшественник Fragnasia, раскрыт неделей ранее. Публичный PoC эксплойт доступен.
- Copy Fail — ещё одна уязвимость повышения привилегий, сейчас активно эксплуатируется в атаках. 1 мая 2026 CISA добавило её в каталог известных эксплуатируемых уязвимостей (KEV) и обязало федеральные агентства США закрыть её до 15 мая.
- Pack2TheRoot — уязвимость в демоне PackageKit, присутствовавшая незамеченной десять лет. Закрыта в апреле 2026.
Все три уязвимости — локальное повышение привилегий до root. Наличие публичных PoC для Fragnasia и Dirty Frag делает их особенно опасными для систем с ненадёжными локальными пользователями (shared hosting, контейнерные среды).
Часто задаваемые вопросы
Что такое Fragnasia (CVE-2026-46300)?
Fragnasia — уязвимость локального повышения привилегий в ядре Linux. Логическая ошибка в подсистеме XFRM ESP-in-TCP позволяет непривилегированному пользователю записывать байты в page cache файлов только для чтения и получить доступ root. Обнаружена Уильямом Боулингом (Zellic) и раскрыта 13 мая 2026 года.
Какие системы уязвимы?
Все дистрибутивы Linux с ядром, выпущенным до 13 мая 2026 года. Fragnasia не требует состояния гонки и не привязана к конкретному дистрибутиву — проблема в общем коде ядра XFRM.
Как проверить, уязвима ли моя система?
Выполните команду uname -r для проверки версии ядра. Ядра, выпущенные до 13 мая 2026 года, уязвимы. Для проверки наличия патча в вашем дистрибутиве: на Debian/Ubuntu — apt changelog linux-image-$(uname -r) | head -20, на RHEL/CentOS — rpm -q --changelog kernel | head -20. Если в changelog есть упоминание CVE-2026-46300 или Fragnasia — патч применён.
Есть ли публичный эксплойт?
Да. Исследователь William Bowling опубликовал proof-of-concept эксплойт одновременно с раскрытием уязвимости 13 мая 2026 года. Именно поэтому обновление ядра или временная митигация критически важны прямо сейчас.
Чем Fragnasia отличается от Dirty Frag?
Dirty Frag объединяет два CVE (CVE-2026-43284 и CVE-2026-43500) — это цепочка из двух отдельных багов в том же XFRM-коде для достижения LPE. Fragnasia — самостоятельный баг, не требующий состояния гонки. Mitigation (выгрузка esp4/esp6/rxrpc) одинаковый, но патчи разные.
Что делать, если нельзя сразу обновить ядро?
Выгрузите уязвимые модули ядра: rmmod esp4 esp6 rxrpc. Затем запретите их автоматическую загрузку через /etc/modprobe.d/dirtyfrag.conf. Учтите, что это отключит IPsec VPN и AFS.
Итого
Fragnasia — третья за месяц серьёзная уязвимость повышения привилегий в ядре Linux, и первая в новом классе Dirty Frag с публичным PoC без состояния гонки. Обновите ядро в первую очередь на серверах с доступом нескольких пользователей, в контейнерных окружениях (если namespace-изоляции недостаточно) и там, где уже применялась митигация для Copy Fail.
Подробнее — в материале BleepingComputer. База уязвимостей NVD: CVE-2026-46300 на NIST.