CVE: CVE-2026-64597
Продукт: Linux Kernel
Дата публикации: 06.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,36%; процентиль 29,09%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
Уязвимость CVE-2026-64597 в ядре Linux связана с двойным освобождением памяти (double-free) в клиентской части SMB2. Атака может привести к повреждению памяти или отказу в обслуживании. Системы, использующие SMB2-клиент, должны быть обновлены для устранения уязвимости.
Основные характеристики
CVE-2026-64597 — критическая уязвимость в ядре Linux, затрагивающая реализацию SMB2_close() в модуле fs/smb/client/smb2pdu.c. При повторной попытке отправки запроса в случае ошибки происходит некорректная обработка буферов ответа. Это приводит к повторному освобождению памяти. Уязвимость исправлена в рамках стабильного дерева ядра Linux. Исправление включает сброс параметров
resp_buftype и rsp_iov перед каждой новой попыткой в функции __SMB2_close() [3].Какие продукты и версии затронуты
Уязвимость затрагивает версии ядра Linux, в которых используется SMB2-клиентская подсистема. Конкретные версии не указаны в доступных источниках. Исправление было включено в стабильное дерево ядра Linux. Системы, использующие SMB2-клиент, должны быть обновлены до версий, содержащих исправление. Поддержка уязвимости распространяется на все активно поддерживаемые ветки ядра Linux [1].
Причина уязвимости
Основная проблема связана с функцией
__SMB2_close() в файле fs/smb/client/smb2pdu.c. При повторной попытке отправки запроса, если предыдущая инициализация завершается ошибкой, состояние буфера ответа не сбрасывается. Это приводит к повторному освобождению ранее выделенного буфера. Исправление включает сброс resp_buftype и rsp_iov перед каждой новой попыткой, чтобы предотвратить повторное освобождение памяти [3].Как работает атака
Механизм уязвимости зависит от обработки ошибок в SMB2-клиенте. При повторной попытке отправки запроса, если инициализация завершается неудачей, система может продолжать использовать буфер, который уже был освобожден. Это может привести к повреждению памяти или отказу в обслуживании. Уязвимость не требует привилегий пользователя, но может быть эксплуатирована в контексте сетевых соединений через SMB2-клиент [1].
Условия успешной эксплуатации
Для возможной эксплуатации требуется использование SMB2-клиента в ядре Linux, а также условие, при котором повторная попытка отправки запроса может завершиться ошибкой. Нет подтверждённых публичных PoC или эксплуатаций. Уязвимость не требует специальных прав, но может быть использована в системах с активным SMB-подключением [1].
Возможный сценарий атаки
Сценарий возможной эксплуатации включает подключение SMB2-клиента к серверу, где происходит повторная попытка отправки запроса. Если инициализация завершается ошибкой, и система продолжает использовать тот же буфер, может произойти двойное освобождение памяти. Такой сценарий возможен в системах с активным использованием SMB-подключений [1].
Есть ли публичный эксплойт
Нет подтверждённых публичных эксплойтов или PoC для CVE-2026-64597. Информация о возможной эксплуатации основана на анализе механизма уязвимости. Отсутствие специфичных индикаторов компрометации указывает на необходимость мониторинга систем, использующих SMB2-клиент [1].
Признаки эксплуатации
В отсутствие специфичных IOC, общие признаки аномалий в работе SMB-клиента могут указывать на возможную эксплуатацию. Это может включать необычные ошибки в журналах ядра, повторные попытки соединения или сбои в работе SMB-подсистемы. Рекомендуется использовать средства мониторинга и аудита для выявления подозрительных действий [1].
Как обнаружить атаку
Обнаружение возможно через анализ журналов ядра Linux на предмет ошибок, связанных с SMB2-клиентом. Проверка наличия исправления в системе также важна. Администраторы могут использовать команды
uname -r, uname -a, cat /proc/version для определения версии ядра и сравнения с известными исправлениями. Также рекомендуется проверять наличие изменений в файле fs/smb/client/smb2pdu.c [3].Как проверить свою версию
Для проверки версии ядра используйте команды:
Код:
uname -r
uname -a
или
Код:
cat /proc/version
Замените
<имя-пакета> на имя пакета ядра, если требуется проверить конкретную установку. Например:
Код:
apt list --installed | grep linux-image
или
Код:
yum list installed | grep kernel
Проверьте, включено ли исправление в вашу версию ядра. Исправление вносится в файл
fs/smb/client/smb2pdu.c [3].Исправление
Рекомендуется немедленно обновить систему до версии ядра Linux, содержащей исправление CVE-2026-64597. Исправление включает сброс параметров буфера ответа перед каждой новой попыткой в функции
__SMB2_close(). Обновление должно быть выполнено через стандартные механизмы управления пакетами, например, apt update && apt upgrade или yum update. После обновления перезагрузите систему для применения изменений [3].Временные меры защиты
В отсутствие обновления, можно ограничить использование SMB2-клиента или отключить SMB-подключения, если они не обязательны. Также рекомендуется включить мониторинг и аудит SMB-подсистемы для выявления аномалий. Ограничение сетевого доступа к SMB-серверам может снизить риск эксплуатации уязвимости [1].
Как проверить устранение уязвимости
После применения исправления проверьте, что версия ядра содержит исправление. Используйте команды:
Код:
uname -r
или
Код:
cat /proc/version
Убедитесь, что изменения в
fs/smb/client/smb2pdu.c включают строки:
Код:
resp_buftype = CIFS_NO_BUFFER;
memset(&rsp_iov, 0, sizeof(rsp_iov));
Также проверьте, что система не демонстрирует признаков повреждения памяти или отказа в обслуживании [3].
Вывод
CVE-2026-64597 представляет собой критическую уязвимость в Linux Kernel, связанную с двойным освобождением памяти в SMB2-клиенте. Уязвимость может быть использована для вызова отказа в обслуживании или повреждения памяти. Администраторы должны немедленно обновить системы до версий, содержащих исправление. Без обновления рекомендуется ограничить использование SMB2-клиента и активно мониторить систему [1].
Официальные источники
- NVD — CVE-2026-64597
- FIRST EPSS — CVE-2026-64597
- smb: client: fix double-free in SMB2_close() replay - kernel/git/stable/linux.git - Linux kernel stable tree
- smb: client: fix double-free in SMB2_close() replay - kernel/git/stable/linux.git - Linux kernel stable tree
- smb: client: fix double-free in SMB2_close() replay - kernel/git/stable/linux.git - Linux kernel stable tree
- smb: client: fix double-free in SMB2_close() replay - kernel/git/stable/linux.git - Linux kernel stable tree
- smb: client: fix double-free in SMB2_close() replay - kernel/git/stable/linux.git - Linux kernel stable tree
- CVEs — The Linux Kernel documentation
История обновлений статьи
- 10.08.2026 — Опубликована первая версия материала.
