За последние недели в ядре Linux закрыли несколько уязвимостей локального повышения привилегий, и все они объединены одной темой: их нашёл автоматизированный инструмент на базе ИИ.
Что за уязвимости
Все три относятся к одному классу: локальный пользователь без прав может получить
root. Рабочие эксплойты опубликованы.Copy Fail — уязвимость в подсистеме
algif_aead ядра Linux. Эксплуатируется через splice() в связке с io_uring. Позволяет перезаписать страницы памяти suid-бинарников вроде /usr/bin/su, passwd, mount, pkexec.Dirty Frag (CVE-2026-43284, CVE-2026-43500) — два варианта той же техники, но через
xfrm-ESP (IPsec) и RxRPC. Уязвимость в xfrm-ESP присутствует в ядре с 2017 года, в RxRPC — с 2023-го. Проверена на Ubuntu 24.04, RHEL 10.1, openSUSE Tumbleweed, Fedora 44.PinTheft — свежая эксплуатация через
RDS (Reliable Datagram Sockets) и io_uring. Использует double-free в функции rds_message_zcopy_from_user(). CVE ещё не присвоен.Роль ИИ
Все три уязвимости нашёл автоматизированный инструмент анализа кода. Это не значит, что раньше их не было — они сидели в ядре годами. Инструмент нашёл паттерн: использование
splice() и io_uring для записи в страницы page cache без учёта флагов защиты. Один паттерн — несколько точек входа в разных подсистемах.Затронутые конфигурации
Уязвимости эксплуатируются при наличии загруженных модулей:
-
Copy Fail — нужен io_uring (включён по умолчанию) и поддержка algif_aead-
Dirty Frag — нужны модули esp4/esp6 или rxrpc-
PinTheft — нужны модули rds и rds_tcp, а также io_uringВ большинстве дистрибутивов эти модули загружаются автоматически при первом обращении. Arch Linux загружает
rds по умолчанию.Что делать прямо сейчас
Для
Dirty Frag — отключить уязвимые модули: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"
Для
PinTheft — отключить rds и rds_tcp:rmmod rds_tcp rds
printf 'install rds /bin/false\ninstall rds_tcp /bin/false\n' > /etc/modprobe.d/pintheft.conf
Для
Copy Fail — обновить ядро. Патч есть в ветке netdev.Исправления для
Dirty Frag включены в ядра 7.0.5, 6.18.28, 6.12.87, 6.6.138, 6.1.172, 5.15.206, 5.10.255. Все основные дистрибутивы уже выпустили или выпускают обновления.Почему это важно
Один ИИ-инструмент за короткое время нашёл несколько уязвимостей в коде, который существует годами. Это меняет темп обнаружения: раньше такие цепочки искали вручную, сейчас их можно находить систематически. Стоит ожидать, что подобных находок будет больше — и со стороны исследователей, и со стороны тех, кто ищет не для публикации.
Если вы администрируете Linux-серверы или рабочие станции — обновите ядро и проверьте, какие модули загружены в вашей конфигурации. Также подпишитесь на нашу рассылку, там нет уязвимостей.
➡️ Источник
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#разбор_полётов
