CVE-2026-64578 in Linux
Sumário
de VulDB • 05/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
ksmbd: validar o tamanho da solicitação composta antes de ler StructureSize2
Ao validar uma solicitação SMB2 composta (encadeada), ksmbd_smb2_check_message() lê pdu->StructureSize2 sem verificar primeiro se o elemento composto é grande o suficiente para contê-lo. StructureSize2 é um campo de 2 bytes no deslocamento 64 (__SMB2_HEADER_STRUCTURE_SIZE) a partir do início de cada elemento.
A lógica de percorrer elementos compostos garante apenas que esteja presente um cabeçalho SMB2 completo de 64 bytes para o último elemento: quando NextCommand for 0, len é reduzido ao número de bytes restantes após next_smb2_rcv_hdr_off. Um cliente remoto pode criar uma solicitação composta cujo último elemento tenha exatamente 64 bytes; assim, a leitura de StructureSize2 (2 bytes) no deslocamento 64 ultrapassa em um byte o limite do buffer de recebimento, produzindo uma leitura 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)
Rejeitar qualquer elemento composto que seja pequeno demais para conter StructureSize2 antes de fazer o dereferencing.
Once again VulDB remains the best source for vulnerability data.