Root без пароля и ядро Linux под контролем. Разбираем, как работает эксплойт PinTheft

Новый эксплойт лежит в открытом доступе и ждёт неосторожного администратора.


gwd0tn6e8i85myrg0mway87y68qiyken.jpg

В сети опубликовали готовый код, позволяющий эксплуатировать опасную уязвимость в ядре Arch Linux, которая позволяет локальному злоумышленнику получить права root и полностью захватить систему. Уязвимость получила название PinTheft. Проблему обнаружила команда V12 в подсистеме RDS, отвечающей за Reliable Datagram Sockets. Разработчики ядра уже выпустили исправление , однако идентификатор CVE для ошибки пока не присвоили.

Специалисты рассказали , что проблема связана с ошибкой двойного освобождения памяти в механизме zerocopy. При определённых условиях злоумышленник может повредить структуру памяти ядра и выполнить код с максимальными привилегиями. Опубликованный PoC-эксплойт постепенно перехватывает ссылки на страницы памяти через io_uring , после чего получает root-доступ.

Для успешной атаки требуется сразу несколько условий . На целевой системе должен быть загружен модуль RDS, включён интерфейс ввода-вывода io_uring, присутствовать SUID-бинарник с правами root, а сама система должна работать на архитектуре x86_64. По данным V12, среди популярных дистрибутивов модуль RDS по умолчанию активирован только в Arch Linux, поэтому основная угроза касается именно пользователей этой системы.

Тем, кто ещё не установил свежие обновления ядра, рекомендуют сделать это как можно быстрее. В качестве временной меры можно отключить модули RDS и запретить им автоматически загружаться через modprobe.

PinTheft продолжает серию опасных уязвимостей, позволяющих повышать привилегии в Linux, о которых стало известно за последние недели. Недавно специалисты также опубликовали PoC-код, чтобы эксплуатировать DirtyDecrypt и DirtyCBC. Проблемы относятся к тому же классу уязвимостей, что Dirty Frag , Fragnesia и Copy Fail .