Новая пара уязвимостей в ядре Linux позволяет получить root через подмену страничного кэша В ядре Linux выявлены две уязвимости, объединённые кодовым …
В ядре Linux выявлены две уязвимости, объединённые кодовым именем Dirty Frag (также Copy Fail 2). Они позволяют локальному непривилегированному пользователю получить права root, перезаписав страничный кэш любого файла (включая suid-исполняемые).
Dirty Frag охватывает две разные уязвимости: первая в модуле xfrm-ESP, используемом для ускорения операций шифрования в IPsec с использованием протокола ESP (Encapsulating Security Payload), а вторая в драйвере RxRPC, реализующем семейство сокетов AF_RXRPC и одноимённый RPC-протокол, работающий поверх UDP.
Обе вызваны небезопасным использованием функции splice(), передающей ссылки на страничный кэш без проверки смещений. Эксплуатация: чтение исполняемого файла suid root (/usr/bin/su) → подмена 4 байт в кэше → запуск «su» выполнит изменённый код с правами root.
Автор комбинированного эксплоита (проверен на Ubuntu 24.04.4, RHEL 10.1, openSUSE Tumbleweed, CentOS Stream 10, AlmaLinux 10, Fedora 44). В качестве обходного пути защиты можно заблокировать загрузку модулей ядра esp4, esp6 и rxrpc:
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"
🐧Обсудить в Чате Linux