29 апреля 2026 года исследовательская компания Xint Code (подразделение Theori) публично раскрыла опасную уязвимость в ядре Linux, получившую название «Copy Fail» и идентификатор CVE-2026-31431. По оценке специалистов, проблема присутствует в ядре с 2017 года и затрагивает практически все современные дистрибутивы Linux.
Уязвимость была обнаружена исследователем Taeyang Lee с помощью AI-инструмента для анализа кода Xint Code. Проблема кроется в криптографической подсистеме ядра, а именно в шаблоне authencesn и модуле algif_aead, который обеспечивает доступ к AEAD-шифрованию через сокетный интерфейс AF_ALG.
Уязвимость позволяет обычному пользователю записать всего 4 байта в page cache (кэш оперативной памяти) любого читаемого файла, не трогая сам файл на диске. Для этого используется связка из AF_ALG и системного вызова splice() — штатных механизмов Linux, доступных всем пользователям без исключений. Ошибка возникает, когда authencesn в процессе дешифрования записывает данные за границы буфера, попадая в страницы кэша, переданные через splice().
Атакующий выбирает setuid-бинарник — программу, которая при запуске автоматически получает права администратора (например, /usr/bin/su), и подменяет 4 байта в её кэшированной копии. После этого программа вместо запроса пароля выдаёт root-доступ.
Файл на диске остаётся неизменным. Системы контроля целостности (AIDE, sha256sum), сравнивающие файл с эталоном, ничего не замечают. Следов атаки практически нет: изменённая страница живёт только в оперативной памяти и исчезает после перезагрузки или очистки кэша.
Кого касается уязвимость
Под ударом находятся все дистрибутивы Linux, собранные на основе ядер с 2017 года по апрель 2026 года, — практически любой Linux за последние девять лет. Исследователи лично подтвердили работу эксплойта на Ubuntu 24.04, Amazon Linux 2023, RHEL 10.1 и SUSE 16. Эксплойт работает на всех архитектурах без доработок: один 732-байтовый скрипт подходит для любого дистрибутива — не нужны ни подбор смещений, ни перекомпиляция.
В зоне повышенного риска — многопользовательские серверы, CI-раннеры (GitHub Actions, GitLab), контейнеры и Kubernetes (уязвимость позволяет сбежать из контейнера на хост), а также облачные сервисы с пользовательским кодом. На однопользовательских рабочих станциях риск ниже, но если злоумышленник уже получил локальный доступ, он моментально станет root.
Информация ниже про исправление уязвимости периодически обновляется.
Исправление уязвимости
Первоочередная мера — обновить ядро до версии с патчем, который откатывает опасную in-place-оптимизацию в модуле algif_aead. Следить за появлением обновленной версии ядра для популярных ОС можно тут:
Debian: https://security-tracker.debian.org/tracker/CVE-2026-31431
Ubuntu: https://people.canonical.com/~ubuntu-security/cve/CVE-2026-31431
Fedora: https://koji.fedoraproject.org/koji/packageinfo?packageID=8
Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2026-31431
AlmaLinux: https://almalinux.org/blog/2026-05-01-cve-2026-31431-copy-fail/
OpenSUSE: https://bugzilla.suse.com/show_bug.cgi?id=CVE-2026-31431
Gentoo: https://bugs.gentoo.org/show_bug.cgi?id=CVE-2026-31431
Arch: https://security.archlinux.org/CVE-2026-31431
Как временное решение проблемы до выпуска обновлённой версии ядра: можно отключить модуль algif_aead(неприменимо к rhel like системам):
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/nullПерезагрузка не требуется, но рекомендуется.
Наши системные администраторы подготовили решение для автоматической диагностики и исправления уязвимости. Нужно скачать приложение по ссылке (исходный код).
Далее выполнить:
chmod +x cve_2026_31431_hotfix
И запустить:
./cve_2026_31431_hotfix
Решение регулярно обновляется, доступен многократный перезапуск.
Для контейнерных сред дополнительно заблокируйте создание AF_ALG-сокетов через seccomp. Отключение модуля не повлияет на LUKS, IPsec, OpenSSL (без afalg-движка) и большинство повседневных задач — уязвимый путь используется крайне редко.
Для WSL/WSL2 до выхода исправления можно добавить в файл %userprofile%\.wslconfig
[wsl2]
kernelCommandLine=module_blacklist=algif_aead,rxrpc,esp4,esp6Затем перезапустить WSL командой:
wsl --shutdown
Подробнее узнать можно вот тут и тут.
Исправленные версии ядра
Debian
ОС | Ядро |
| Debian 10 (buster) | исправление безопасности (backport) пока недоступно |
| Debian 11 (bullseye) | 5.10.0-41 и выше |
| Debian 12 (bookworm) | 6.1.0-45 и выше |
| Debian 13 (trixie) | 6.12.85-1 и выше |
Команда исправления для Debian:
apt update && apt install linux-image-amd64 linux-headers-amd64 -yUbuntu
ОС | Ядро |
| Ubuntu 18.04 (bionic) | исправление безопасности (backport) пока недоступно |
| Ubuntu 20.04 (focal) | исправление безопасности (backport) пока недоступно |
| Ubuntu 22.04 (jammy) | 5.15.0-177-generic и выше |
| Ubuntu 24.04 (noble) | 6.8.0-111-generic и выше |
| Ubuntu 25.04 (plucky) | 6.14.0-37-generic и выше |
| Ubuntu 26.04 (resolute) | 7.0.0-15-generic и выше |
Команда исправления для Ubuntu:
apt update && apt install linux-image-generic linux-headers-generic -yCentOS
ОС | Ядро |
| CentOS Stream 8 | исправление безопасности (backport) пока недоступно |
| CentOS Stream 9 | 5.14.0-701.el9.x86_64 и выше |
| CentOS Stream 10 | 6.12.0-226.el10.x86_64 и выше |
Команды исправления для CentOS:
dnf clean metadata && dnf upgrade 'kernel*' -yAlmaLinux
ОС | Ядро |
| AlmaLinux 8.10 | 4.18.0-553.121.1.el8_10.x86_64 и выше |
| AlmaLinux 9.7 | 5.14.0-611.49.2.el9_7.x86_64 и выше |
| AlmaLinux 10.1 | 6.12.0-124.52.3.el10_1.x86_64 и выше |
Команда исправления для AlmaLinux:
dnf clean metadata && dnf upgrade 'kernel*' -yRocky Linux
ОС | Ядро |
| Rocky Linux 8.10 | 4.18.0-553.123.1.el8_10 и выше |
| Rocky Linux 9.7 | 5.14.0-611.54.1.el9_7.x86_64 и выше |
| Rocky Linux 10.1 | 6.12.0-124.55.1.el10_1.x86_64 и выше |
Команда исправления для Rocky Linux:
dnf clean metadata && dnf upgrade 'kernel*' -yFedora
ОС | Ядро |
| Fedora 40 | исправление безопасности (backport) пока недоступно |
| Fedora 41 | исправление безопасности (backport) пока недоступно |
| Fedora 42 | 6.19.14-100.fc42.x86_64 и выше |
| Fedora 43 | 6.19.14-200.fc43.x86_64 и выше |
| Fedora 44 | 6.19.14-300.fc44.x86_64 и выше |
Команда исправления для Fedora:
dnf clean metadata && dnf upgrade 'kernel*' -yOracle Linux
ОС | Ядро |
| Oracle Linux 8 | 5.15.0-319.201.4.4.el8uek.x86_64 и выше |
| Oracle Linux 9 | 6.12.0-201.74.2.2.el9uek.x86_64 и выше |
| Oracle Linux 10 | 6.12.0-201.74.2.2.el9uek.x86_64 и выше |
Команды исправления для Oracle Linux:
dnf clean metadata && dnf upgrade 'kernel*' -y