CVE Catalog

CVE-2026-64578

HighCVSS 8.2
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.32%

25th percentile - higher than 25% of all known CVEs

Summary

In the Linux kernel, the ksmbd (SMB2 server) module has a vulnerability involving an out-of-bounds read (slab-out-of-bounds). During validation of compound (chained) SMB2 requests, ksmbd_smb2_check_message() reads the StructureSize2 field without first checking that the compound element is large enough. A remote client can craft a request whose last element is exactly 64 bytes, causing a 2-byte read past the receive buffer.

Risk Assessment

The vulnerability allows a remote attacker to trigger a KASAN error and potentially cause information disclosure from kernel memory or a denial of service (system crash). In extreme cases, it could be used for privilege escalation, but the primary risk is to service integrity and availability.

Recommendation

Immediately update the Linux kernel to a version containing the fix that adds size validation before reading StructureSize2. If updating is not possible, restrict access to the ksmbd service (e.g., via firewall) to trusted hosts.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: ksmbd: validate compound request size before reading StructureSize2 When ksmbd validates a compound (chained) SMB2 request, ksmbd_smb2_check_message() reads pdu->StructureSize2 without first checking that the compound element is large enough to contain it. StructureSize2 is a 2-byte field at offset 64 (__SMB2_HEADER_STRUCTURE_SIZE) from the start of each element. The compound-walking logic only guarantees that a full 64-byte SMB2 header is present for the trailing element: when NextCommand is 0, len is reduced to the number of bytes remaining after next_smb2_rcv_hdr_off. A remote client can craft a compound request whose last element has exactly 64 bytes, so the 2-byte StructureSize2 read at offset 64 extends one byte past the receive buffer, producing a slab-out-of-bounds read. 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) Reject any compound element that is too small to hold StructureSize2 before dereferencing it.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS