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.
Определение наличия уязвимости
python3 -c 'import
socket;s=socket.socket(38,5,0);s.bind(("aead","authencesn(hmac(sha256),cbc(aes))"));print("vulnerable");s.close()' 2>
/dev/null || echo "Not vulnerable / blocked"Исправление уязвимости
Первоочередная мера — обновить ядро до версии с патчем, который откатывает опасную in-place-оптимизацию в модуле algif_aead. Следить за появлением обновленной версии ядра для популярных ОС можно тут:
https://ubuntu.com/security/CVE-2026-31431
https://access.redhat.com/security/cve/cve-2026-31431
Как временное решение проблемы до выпуска обновлённой версии ядра: можно отключить модуль algif_aead:
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/nullПерезагрузка не требуется, но рекомендуется.
Для контейнерных сред дополнительно заблокируйте создание AF_ALG-сокетов через seccomp. Отключение модуля не повлияет на LUKS, IPsec, OpenSSL (без afalg-движка) и большинство повседневных задач — уязвимый путь используется крайне редко.
Для WSL/WSL2 до выхода исправления потребуется применение патча и пересборка ядра вручную.