Содержание
В Linux нашли уязвимость CVE-2026-31431, которая даёт root-доступ любому локальному непривилегированному пользователю. По данным исследователей из Xint Code, проблема тянется с 2017 года и затрагивает почти все популярные дистрибутивы, включая серверные.
Сценарий неприятный именно для многопользовательских систем. Под ударом веб-серверы, CI/CD-агенты, контейнерные окружения и кластеры вроде Kubernetes, где на одной машине живут разные сервисы и команды.
Какие системы затронуты и почему это срочно
Уязвимость не называют «нулевым днём»: патч уже попал в ядро Linux. Но окно между раскрытием и массовой реакцией вендоров оказалось коротким, поэтому часть систем может оставаться уязвимой, пока дистрибутивы не выкатят обновления в свои репозитории.
- Ubuntu 24 (при этом версия 26 вышла на прошлой неделе)
- RHEL 10
- Suse 16
- Amazon Linux 2023
Отдельно неприятно, что уязвимость задевает и WSL2 в Windows. То есть проблема не только про «чистый» Linux на железе, но и про Linux-окружения внутри рабочих станций и билд-ферм.
Механика атаки: оптимизация в криптографии, которая стреляет в ногу
Эксплойт завязан на AF_ALG — это сокетный интерфейс, через который приложения используют криптографию ядра. В атаке ключевую роль играет модуль/подсистема algif_aead и внутренняя оптимизация: вместо копирования данных функция «подцепляет» tag-данные к выходному буферу по ссылке.
Дальше срабатывает совпадение на уровне конкретного алгоритма. В описании Xint Code фигурирует authencesn: он записывает 4 байта по фиксированному смещению в выходном буфере. Если в качестве tag подсунуть «срез» исполняемого файла, эти 4 байта попадают прямо в кэшированную в памяти страницу исполняемого файла. В примере упоминают su.
Итог — исполняемый файл «радостно» портится в памяти так, что при запуске даёт повышение привилегий. При этом на диск ничего не пишется, поэтому следов на уровне файловой системы может не быть, а часть защитных средств такой трюк пропускает.
Что известно про PoC и варианты снижения риска
В публичном описании подчёркивают, что для атаки достаточно 732 байт кода. Исследователи также упомянули, что нашли проблему с помощью AI-ассистента.
Код proof-of-concept выложили публично. Его можно посмотреть на GitHub: copy_fail_exp.py. Патч в ядре уже есть как отдельный коммит: a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5.
- Отключение загрузки algif_aead как модуля, если он грузится модульно
- Запрет AF_ALG-сокетов через политики вроде seccomp, AppArmor или SELinux, если функциональность вшита в ядро (в тексте отдельно названы RHEL и WSL2)
Факт, который стоит держать в голове: проблема существует с 2017 года и затрагивает «почти все» актуальные дистрибутивы, поэтому проверка статуса патчей в вашем конкретном дистрибутиве сейчас важнее, чем спор о том, насколько «рано» исследователи раскрыли детали.
Коммит с исправлением уязвимости CVE-2026-31431 уже доступен в дереве ядра Linux: a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5.