Не обновили Linux – потеряли компьютер.
Исследователь безопасности Notselwyn обнаружил в Linux новую уязвимость, которая позволяет получить права root. Ошибка затрагивает версии ядра Linux с 5.14 по 6.6.14.
Уязвимость CVE-2024-1086 (оценка CVSS: 7.8) касается многих популярных дистрибутивов, включая Debian, Ubuntu, Red Hat и Fedora. Ошибка, связанная с двойным освобождением памяти (double-free) в компоненте netfilter ядра Linux через nf_tables, может привести ко сбою системы или выполнению произвольного кода. Разработчики ядра Linux выпустили исправления для устранения уязвимости в конце января, и с тех пор обновления распространяются среди пользователей.
Исследователь безопасности Notselwyn поделился детальным техническим отчётом об ошибке, утверждая, что эксплойт имеет успех в 99,4% случаев на ядре версии 6.4.16. Notselwyn выразил особую радость от разработки проекта, подчеркнув волнение от первого получения прав администратора с использованием обнаруженной уязвимости.
Недостаток позволяет использовать ошибку двойного освобождения в функции nft_verdict_init(), что может привести к аварийному завершению работы системы или выполнению произвольного кода. Атака требует, чтобы в системе была включена опция не привилегированных пространств имён пользователя для доступа к nf_tables, что является настройкой по умолчанию во многих дистрибутивах.
Техника эксплойта, получившая название Dirty Pagedirectory, позволяет атакующему без ограничений читать и записывать во все страницы памяти системы, предоставляя полный контроль над уязвимым компьютером. Метод основан на выделении одинакового адреса ядра для Page Upper Directory (PUD) и Page Middle Directory (PMD) с использованием уязвимости двойного освобождения.
Исследователь поделился PoC-эксплойтом, запуск которого описан как «тривиальный». Другими словами, после перезаписи переменной modprobe_path ядра, эксплойт запускает оболочку с правами root, оставляя систему полностью под контролем атакующего.
5778 К? Пф! У нас градус знаний зашкаливает!