CVE-2025-39964

Linux Kernel

ВЫСОКИЙ РИСК

Вероятность (EPSS) 1.0%
Тяжесть (CVSS) CVSS 7.8
Дата обнаружения

2026-09-18

Профиль угрозы (Вектор)
Доступ
Локально
Сложность
Низкая
Привилегии
Юзер
Жертва
Бездействует
Строка: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Официальное описание

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,

Обсуждение и опыт коллег
0
Чтобы оставить комментарий, необходимо войти или зарегистрироваться.

Пока никто не поделился опытом.
Станьте первым!