## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-XD20111-CVE-2026-31431
# CVE-2026-31431 — Copy Fail
> **Локальное повышение привилегий** в криптографическом шаблоне `authencesn` ядра Linux через `AF_ALG` \+ `splice()`.
> Раскрыто 29 апреля 2026 года компанией Theori (Xint Code).
* * *
## Обзор
Поле| Детали
---|---
**CVE**| CVE-2026-31431
**Псевдоним**| Copy Fail
**CVSS**| 7.8 HIGH
**Тип**| Локальное повышение привилегий (LPE)
**Появилась**| Ядро Linux 4.14 (2017, коммит `72548b093ee3`)
**Исправлена**| Коммит в mainline `a664bf3d603d`
**Требуется**| Локальный доступ к оболочке без привилегий
**Удалённый вектор**| Нет — только локально
* * *
## Краткое описание уязвимости
Логическая ошибка в обёртке AEAD `authencesn` ядра позволяет непривилегированному локальному пользователю выполнить **детерминированную, контролируемую запись 4 байт в page cache любого читаемого файла** в системе — включая setuid-бинарники, такие как `/usr/bin/su`.
Корневая причина — оптимизация обработки на месте 2017 года, которая помещала страницы page cache в записываемый scatterlist. Алгоритм `authencesn` записывает 4 байта служебных данных за пределами своей целевой выходной области во время перестановки Extended Sequence Number. Из-за структуры scatterlist, введённой оптимизацией, эти 4 байта попадают в page cache файла, переданного через `splice()`, — полностью обходя права доступа к файлу.
**Никаких гонок. Никаких повторов. Никакого риска сбоя. Детерминированно на всех протестированных дистрибутивах.**
### Сравнение с предыдущими работами
* * *
## Затронутые версии
**Уязвимы:** ядро Linux с 4.14 по 6.18.21 и 6.19.x до 6.19.12.
Все основные дистрибутивы, поставляющие ядра в этом диапазоне, затронуты, включая:
Дистрибутив| Протестированная версия
---|---
Ubuntu 24.04 LTS| 6.17.0-1007-aws
Amazon Linux 2023| 6.18.8-9.213.amzn2023
RHEL 10.1| 6.12.0-124.45.1.el10_1
SUSE 16| 6.12.0-160000.9-default
**Не затронуты:** Ubuntu 26.04 (Resolute) и новее.
* * *
## Смягчение последствий
### Вариант 1 — Патч (рекомендуется)
Обновите ядро, содержащее коммит mainline `a664bf3d603d`, который откатывает оптимизацию обработки на месте 2017 года.
root@kitploit:~
# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y && sudo reboot
# RHEL / AlmaLinux / Amazon Linux
sudo dnf clean metadata && sudo dnf upgrade && sudo reboot
# SUSE
sudo zypper refresh && sudo zypper update kernel-default && sudo reboot
### Вариант 2 — Отключение `algif_aead` (временно)
Если немедленное патчирование невозможно, отключите уязвимый модуль, чтобы закрыть поверхность атаки.
> **Примечание для систем семейства RHEL:** `algif_aead` встроен в ядро на RHEL/AlmaLinux/CentOS (`CONFIG_CRYPTO_USER_API_AEAD=y`). Обходной путь через `modprobe.d` **не работает** на этих системах. Вместо этого используйте метод `initcall_blacklist`.
**Debian/Ubuntu (модуль загружаемый):**
root@kitploit:~
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf
sudo rmmod algif_aead 2>/dev/null || true
**Семейство RHEL (встроено в ядро — требуется перезагрузка):**
root@kitploit:~
sudo grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
sudo reboot
Подтвердите после перезагрузки:
root@kitploit:~
grep initcall_blacklist /proc/cmdline
### На что влияет этот обходной путь
### Вариант 3 — seccomp (эшелонированная защита)
Для недоверенных рабочих нагрузок — контейнеров, CI-раннеров, песочниц — заблокируйте создание сокетов `AF_ALG` через политику seccomp независимо от состояния патча. Это ограничивает поверхность атаки даже на уязвимых ядрах.
* * *
## Обнаружение
Проверьте, загружен ли `algif_aead` или используется ли он в данный момент:
root@kitploit:~
# Проверка, загружен ли модуль
lsmod | grep algif_aead
# Проверка, есть ли у какого-либо процесса открытый сокет AF_ALG
lsof | grep AF_ALG
ss -xa | grep alg
Сигнатуры обнаружения в реальном времени доступны в Sysdig Secure (правило: `AF_ALG Page Cache Poisoning Leading to Privilege Escalation`).
* * *
## Ссылки
* * *
## Хронология раскрытия
* * *
## Автор
**xD The Watcher** — Red Teamer, этичный хакер и исследователь безопасности ИИ
GitHub: @xd20111
Блог: yourhacker
* * *
## Примечания
Этот репозиторий документирует уязвимость в исследовательских и защитных целях. За авторитетным техническим отчётом и официальным PoC обращайтесь к раскрытию Theori по ссылке выше.
Если ваша модель угроз включает мультитенантность с общим ядром — контейнеры на общем хосте, CI-раннеры, фермы сборки — граница изоляции теперь значительно слабее до установки патча. Правильный ответ — изоляция на уровне оборудования или виртуальной машины, а не границы пространств имён.