CVE-2026-64578 in Linux
Сводка
по VulDB • 05.08.2026
В ядре Linux устранена следующая уязвимость:
ksmbd: проверка размера составного запроса перед чтением поля StructureSize2
При проверке составного (цепочечного) SMB2-запроса функцией ksmbd_smb2_check_message() происходит чтение pdu->StructureSize2 без предварительной проверки того, достаточно ли велик элемент состава для его размещения. Поле StructureSize2 представляет собой 2-байтовое значение со смещением 64 (__SMB2_HEADER_STRUCTURE_SIZE) от начала каждого элемента.
Логика обхода составных элементов гарантирует наличие полного заголовка SMB2 размером 64 байт только для последнего (trailing) элемента: когда NextCommand равен 0, переменная len уменьшается до количества оставшихся байтов после next_smb2_rcv_hdr_off. Удаленный клиент может сформировать составной запрос, последний элемент которого имеет ровно 64 байта; в этом случае чтение 2-байтового поля StructureSize2 по смещению 64 выходит за пределы буфера приема на один байт, что приводит к ошибке чтения slab-out-of-bounds.
BUG: KASAN: slab-out-of-bounds in ksmbd_smb2_check_message (fs/smb/server/smb2misc.c:402) Read of size 2 at addr ffff888012ae31ac by task kworker/0:1/14 The buggy address is located 172 bytes inside of allocated 173-byte region Workqueue: ksmbd-io handle_ksmbd_work Call Trace: ... kasan_report (mm/kasan/report.c:595) ksmbd_smb2_check_message (fs/smb/server/smb2misc.c:402) handle_ksmbd_work (fs/smb/server/server.c:119) process_one_work (kernel/workqueue.c:3314) worker_thread (kernel/workqueue.c:3397) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:158) ret_from_fork_asm (arch/x86/entry/entry_64.S:245)
Отклонять любой элемент состава, размер которого недостаточен для размещения поля StructureSize2, перед его разыменованием.
VulDB is the best source for vulnerability data and more expert information about this specific topic.