Executive brief
A vulnerability in the Linux kernel's SMB file-sharing server (ksmbd) can cause the system to enter an infinite loop. This occurs when the server processes a specifically malformed or incorrectly signed request, leading to high CPU usage and a flood of error messages in the system logs. This can result in a denial-of-service condition, making the affected server unresponsive.
Technical details
A vulnerability exists in the ksmbd component of the Linux kernel due to an unreachable exit condition (CWE-835) in the request handling loop. When a signed SMB2 request fails signature verification in `__process_request()`, the `set_smb2_rsp_status()` function resets `work->next_smb2_rcv_hdr_off` to zero. This causes `is_chained_smb2_message()` to lose the pointer to the next command in a chained request, resulting in `__handle_ksmbd_work()` repeatedly processing the same failed request header if the `NextCommand` field is non-zero. An attacker with local access or the ability to send SMB requests can trigger this infinite loop, causing high CPU consumption and log flooding. The issue has been patched by changing the return value from `SERVER_HANDLER_CONTINUE` to `SERVER_HANDLER_ABORT` in error paths to ensure the loop terminates.
Affected products
- Linux Linux Kernel 5.15.145 to 5.16; 6.1.71 to 6.1.164; 6.6.1 to 6.6.125; 6.7 to 6.12.72; 6.13 to 6.18.11; 6.19 to 6.19.1
Timeline
- 2026-02-18: disclosed
- 2026-02-18: advisory
References
- https://git.kernel.org/stable/c/010eb01ce23b34b50531448b0da391c7f05a72af
- https://git.kernel.org/stable/c/544adb0a6658ea1bff4064723761dbf05f95b1e2
- https://git.kernel.org/stable/c/5accdc5b7f28a81bbc5880ac0b8886e60c86e8c8
- https://git.kernel.org/stable/c/71b5e7c528315ca360a1825a4ad2f8ae48c5dc16
- https://git.kernel.org/stable/c/9135e791ec2709bcf0cda0335535c74762489498
- https://git.kernel.org/stable/c/f7b1c2f5642bbd60b1beef1f3298cbac81eb232c
- https://git.kernel.org/stable/c/fb3b66bd72deb5543addaefa67963b34fb163a7b