Dirty Frag затронула Ubuntu, Arch и RHEL без патча

Linux снова поймала неприятный сюрприз: критическая уязвимость Dirty Frag позволяет локальному пользователю получить права администратора на большинстве популярных дистрибутивов, выпущенных с 2017 года. Исправления пока нет ни в сборках дистрибутивов, ни в основной ветке ядра Linux, а это уже не «теоретическая дырка», а вполне рабочий способ поднять привилегии.
Под ударом оказались Ubuntu, Arch, RHEL, Fedora, OpenSUSE, CentOS Stream, Alma и даже WSL2 в Windows 11. История неприятно напоминает Copy Fail, только там патчи уже разошлись, а здесь защиту приходится собирать вручную из того, что обычно никто не трогает.
Как работает Dirty Frag
Схема уязвимости банальна до обидного. Небольшая программа запускает ошибку в механизме нулевого копирования ядра Linux через splice и связанные с IPSec модули, после чего данные можно записывать туда, где обычному пользователю это запрещено. Дальше вопрос уже не в «если», а в «кто первый успеет».
- затрагивает текущие версии Ubuntu 24 и 26;
- работает на Arch, RHEL, Fedora, OpenSUSE, CentOS Stream и Alma;
- демонстрация сработала на CachyOS с ядром 7.0.3-1-cachyos и на обновлённой Arch;
- для защиты можно отключить esp4, esp6 и rxrpc.
Что известно о патче для Dirty Frag
О проблеме сообщили разработчикам ядра ещё 30 апреля, но публикацию сорвали раньше срока. По данным Tom’s Hardware, это похоже на утечку на фоне активной эксплуатации в реальной среде. Ирония тут грубая: корпоративные VPN-компоненты оказались той самой дверью, через которую в систему лезет локальный пользователь.
Корень проблемы тянется к коммиту cac2661c53f3 от 2017 года. В PoC дополнительно задействуется ещё одна ошибка из коммита 2dc334f1a63a, потому что AppArmor в Ubuntu закрывает только первую брешь. На практике это означает простую вещь: защита есть не у всех и не всегда там, где ей хочется быть.



