CVE-2025-39964
Linux Kernel
2026-09-18
Linux Kernel contains a race condition vulnerability which allows concurrent writes to the same AF_ALG socket causing data to be unpredictably interleaved and creating inconsistencies in the socket's internal state.
Технический анализ и план устранения
Суть уязвимости
CVE-2025-39964 представляет собой состояние гонки (race condition) в подсистеме AF_ALG ядра Linux. Уязвимость возникает из-за отсутствия надлежащей синхронизации при параллельных операциях записи в один и тот же сокет алгоритмов шифрования.
Когда несколько потоков одновременно выполняют системные вызовы записи (например, sendmsg или write) в общий AF_ALG сокет, данные могут перемешиваться непредсказуемым образом. Это приводит к нарушению целостности внутреннего состояния сокета и потенциальному повреждению памяти ядра. Злоумышленник может использовать это состояние для дестабилизации системы (DoS) или, в определенных условиях, для повышения привилегий через манипуляцию структурами данных ядра.
Как исправить
Основным способом устранения является обновление ядра Linux до версии, содержащей патч с внедрением блокировок (mutex) для сериализации доступа к операциям записи в AF_ALG.
Проверьте текущую версию ядра:
uname -r
Обновите индекс пакетов и установите последнюю доступную версию ядра (для Debian/Ubuntu):
sudo apt-get update && sudo apt-get upgrade linux-image-generic
Для систем RHEL/CentOS/AlmaLinux:
sudo dnf update kernel
Перезагрузите систему для применения изменений:
sudo reboot
Если вы используете самосборное ядро, необходимо наложить официальный патч из ветки стабильных обновлений kernel.org, который добавляет lock_sock вокруг критических секций в crypto/af_alg.c.
Временные меры
Если немедленное обновление ядра невозможно, рекомендуется ограничить доступ к интерфейсу AF_ALG для непривилегированных пользователей.
Запретите загрузку модуля af_alg (если он не используется критически важными сервисами):
echo "install af_alg /bin/true" | sudo tee /etc/modprobe.d/disable-af-alg.conf
Выгрузите модуль из текущей сессии:
sudo modprobe -r af_alg
Если использование AF_ALG необходимо, ограничьте возможности (capabilities) для запускаемых приложений, убрав CAP_SYS_ADMIN и CAP_NET_RAW, а также используйте механизмы изоляции (например, AppArmor или SELinux), чтобы запретить создание сокетов семейства AF_ALG для подозрительных процессов.
Настройка AppArmor для блокировки AF_ALG (добавьте в профиль):
deny network alg,
Пока никто не поделился опытом.
Станьте первым!