
Главный сотрудник по вопросам ИБ из компании «Ман Ву» 23pds сообщил 8 мая о том, что в Linux-системах существует критическая уязвимость повышения привилегий под названием Dirty Frag. Полные детали и код эксплуатации уже опубликованы: любой локальный пользователь с низкими правами может без необходимости в каких-либо специальных условиях системы напрямую получить права root-администратора затронутой системы. Срочное смягчение — отключить три модуля: esp4, esp6 и rxrpc.
Dirty Frag относится к детерминированным логическим уязвимостям, а не к нестабильным атакам, зависящим от условий гонки. Это обеспечивает крайне высокую вероятность успеха и возможность стабильного воспроизведения. Злоумышленнику достаточно запустить небольшую программу, чтобы сразу получить права root целевой системы. Весь процесс не вызывает крах ядра, а обычные средства мониторинга обнаруживают его крайне тяжело.
Уязвимость 30 апреля была передана исследователями безопасности команде разработчиков Linux. Однако до завершения работ по исправлению «не имеющая отношения третья сторона» преждевременно раскрыла подробную информацию и код эксплуатации, из-за чего вынуждено было снято действие запрета на раскрытие. В безопасном сообществе в целом считают, что это означает: вредоносные атакующие могли уже активно использовать эту уязвимость.
С технической точки зрения Dirty Frag и Copy Fail — механизм уязвимости, который сейчас широко наносит вред в области Linux-серверов, — действуют схожим образом. Оба реализуют атаку через вставку дескриптора кэша страниц в операции, не выполняющие копирование. Базовая уязвимость «xfrm-ESP Page-Cache Write» была внесена коммитом ядра cac2661c53f3 от 2017 года. Поскольку в Ubuntu эту уязвимость исправила AppArmor, PoC использует вторую уязвимость «RxRPC Page-Cache Write» (коммит 2dc334f1a63a), чтобы гарантировать, что атака также будет работать в системах Ubuntu.
Подтверждено затронутое (частично) Linux-распространение:
· Ubuntu 24 и Ubuntu 26 (включая AppArmor, через обход второй уязвимости)
· Arch Linux (также подтверждено затронутость даже в обновлённых версиях)
· RHEL (Red Hat Enterprise Linux)
· OpenSUSE
· CentOS Stream
· Fedora
· AlmaLinux
· CachyOS (подтверждено срабатывание на ядре версии 7.0.3-1-cachyos)
· WSL2 (Windows Subsystem for Linux) также подтверждено как затронутое
До выхода официальных патчей самый эффективный способ смягчения — отключить модули esp4, esp6 и rxrpc. Эти три модуля связаны с сетевой функцией IPSec; если сам сервер не является IPSec-клиентом или IPSec-сервером (то есть используется для шифрования сетевых обменов на уровне сети), то после отключения практически не будет влияния на нормальную работу.
Выполните следующие команды, чтобы отключить модули: sh -c “printf ‘install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n’ > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true”
После выполнения внимательно отслеживайте сообщения по безопасности для каждого Linux-дистрибутива и сразу после официального выхода патчей разверните обновления системы.
На текущий момент официальный патч ещё не опубликован, а в основной ветке Linux также не обнаружены коммиты с исправлением. Это связано с тем, что запрет на раскрытие был нарушен ещё до завершения подготовки патча: подробности уязвимости стали доступны до того, как работа по её исправлению была полностью завершена. Администраторам систем следует внимательно следить за объявлениями по безопасности Linux-дистрибутивов и сразу после публикации патча развернуть обновления.
Эти три модуля в основном связаны с IPSec-протоколами. Если сам сервер не является IPSec-клиентом или IPSec-сервером (то есть не используется для шифрования коммуникаций на уровне сети), то отключение этих модулей почти не повлияет на типовые задачи, включая веб-сервисы, базы данных, шифровальные узлы и т.п. Это на данный момент наиболее безопасный вариант экстренного смягчения с минимальным влиянием.
В индустрии принято «ответственное раскрытие»: после передачи уязвимости производителю исследователи безопасности обычно ждут завершения патчей, прежде чем раскрывать детали. В этот раз уязвимость была передана 30 апреля, но «не имеющая отношения третья сторона» преждевременно раскрыла подробную информацию, что нарушило запрет. Исследователи безопасности предполагают, что вредоносные атакующие могли уже активно использовать эту уязвимость; это и стало причиной, по которой в итоге сняли запрет.