CVE-2026-64578
Last modified
CVE-2026-64578 is a high-severity vulnerability rated 8.2/10 on the CVSS scale. 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.. EPSS estimates a 0.16% chance of exploitation in the next 30 days.
Description
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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9, < 2c307126ed8e7adddab82b8e31d962d3a2156ab1; >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9, < f7550a91ab211726f59cb137523b7a9eae1ac6eb; >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9, < f0e337e7db67cc1c832958bbb6c4026bdceacfdb; >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9, < ea128f06d2fb2186f0cac0c9f3e953e4d1f5c29a; >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9, < 15b38176fd1530372905c602fde51fe89ec8c877 |
| Linux | Linux | 5.15 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-64578?
How severe is CVE-2026-64578?
How do I fix CVE-2026-64578?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-64572In the Linux kernel, the following vulnerability has been re…
- CVE-2026-64573In the Linux kernel, the following vulnerability has been re…
- CVE-2026-64574In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-64575In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-64576In the Linux kernel, the following vulnerability has been re…7.1
- CVE-2026-64577In the Linux kernel, the following vulnerability has been re…7.5
- CVE-2026-64579In the Linux kernel, the following vulnerability has been re…
- CVE-2026-6458Missing cryptographic step in Caliptra Core Firmware (aes_25…5.1
- CVE-2026-64580In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-64581In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-64582In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-64583In the Linux kernel, the following vulnerability has been re…7.8
Are you affected by CVE-2026-64578?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
