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