CVE-2026-64597 в Linux Kernel: двойное освобождение памяти в SMB2-клиенте

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].

Официальные источники​


  1. NVD — CVE-2026-64597
  2. FIRST EPSS — CVE-2026-64597
  3. smb: client: fix double-free in SMB2_close() replay - kernel/git/stable/linux.git - Linux kernel stable tree
  4. smb: client: fix double-free in SMB2_close() replay - kernel/git/stable/linux.git - Linux kernel stable tree
  5. smb: client: fix double-free in SMB2_close() replay - kernel/git/stable/linux.git - Linux kernel stable tree
  6. smb: client: fix double-free in SMB2_close() replay - kernel/git/stable/linux.git - Linux kernel stable tree
  7. smb: client: fix double-free in SMB2_close() replay - kernel/git/stable/linux.git - Linux kernel stable tree
  8. CVEs — The Linux Kernel documentation

История обновлений статьи​


  • 10.08.2026 — Опубликована первая версия материала.
 
Назад
Верх Низ