Dirty Frag превзошла Copy Fail: вторая за месяц критическая уязвимость Linux осталась без исправлений
Читать в полной версииКритическая уязвимость Dirty Frag позволяет любому локальному пользователю получить права администратора на большинстве популярных дистрибутивов Linux, выпущенных с 2017 года, включая Ubuntu, Arch, RHEL, Fedora и даже подсистему WSL2 в Windows 11. На момент публикации не существует ни одного исправления — ни в одном дистрибутиве, ни в основной ветке ядра Linux.
Источник изображения: Sasun Bughdaryan / unsplash.com
Dirty Frag работает по тому же принципу, что и недавняя уязвимость Copy Fail. Атака не зависит от настроек системы и не требует точного момента для запуска — это простая логическая ошибка операционной системы. Достаточно запустить небольшую программу, и обычный пользователь получает права администратора. Затронуты текущие версии Ubuntu (24 и 26), Arch, RHEL, OpenSUSE, CentOS Stream, Fedora, Alma и другие сборки Linux.
В отличие от уязвимости Copy Fail, для которой патчи уже выпущены, Dirty Frag остаётся без исправлений, в том числе в основной ветке ядра Linux. Издание Tom's Hardware сообщило, что взлом успешно сработал на CachyOS с ядром 7.0.3-1-cachyos и на обновлённой системе Arch. Однако защититься несложно: достаточно отключить три компонента ядра — esp4, esp6 и rxrpc. Все три отвечают за шифрование сетевого трафика по протоколу IPSec и нужны только машинам, работающим в корпоративных VPN-сетях, поэтому для большинства рабочих станций и серверов их отключение пройдёт незаметно.
О проблеме сообщили команде разработчиков ядра Linux ещё 30 апреля, но некая третья сторона нарушила договорённость и раскрыла уязвимость раньше срока. Tom's Hardware полагает, что уязвимость уже активно эксплуатируют злоумышленники, что и спровоцировало досрочную публикацию о ней в Сети.
Технически Dirty Frag, как и Copy Fail, использует механизм нулевого копирования в ядре Linux: атакующий внедряет дескриптор страничного кеша в операцию splice, что позволяет записывать данные в файлы, к которым у обычного пользователя нет прав на запись, и через это получать привилегии администратора. Уязвимый код находится в модулях, связанных с шифрованием сетевого трафика IPSec. Исходная ошибка xfrm-ESP Page Cache Write появилась в коммите cac2661c53f3 в 2017 году. Поскольку встроенный механизм защиты AppArmor в Ubuntu закрывает именно эту первую брешь, демонстрационный код (PoC) дополнительно задействует вторую — RxRPC Page-Cache Write из коммита 2dc334f1a63a.