CVE-2026-23220 PUBLISHED

ksmbd: fix infinite loop caused by next_smb2_rcv_hdr_off reset in error paths

Assigner: Linux
Reserved: 13.01.2026 Published: 18.02.2026 Updated: 18.02.2026

In the Linux kernel, the following vulnerability has been resolved:

ksmbd: fix infinite loop caused by next_smb2_rcv_hdr_off reset in error paths

The problem occurs when a signed request fails smb2 signature verification check. In __process_request(), if check_sign_req() returns an error, set_smb2_rsp_status(work, STATUS_ACCESS_DENIED) is called. set_smb2_rsp_status() set work->next_smb2_rcv_hdr_off as zero. By resetting next_smb2_rcv_hdr_off to zero, the pointer to the next command in the chain is lost. Consequently, is_chained_smb2_message() continues to point to the same request header instead of advancing. If the header's NextCommand field is non-zero, the function returns true, causing __handle_ksmbd_work() to repeatedly process the same failed request in an infinite loop. This results in the kernel log being flooded with "bad smb2 signature" messages and high CPU usage.

This patch fixes the issue by changing the return value from SERVER_HANDLER_CONTINUE to SERVER_HANDLER_ABORT. This ensures that the processing loop terminates immediately rather than attempting to continue from an invalidated offset.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 5accdc5b7f28a81bbc5880ac0b8886e60c86e8c8 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to f7b1c2f5642bbd60b1beef1f3298cbac81eb232c (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 71b5e7c528315ca360a1825a4ad2f8ae48c5dc16 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 9135e791ec2709bcf0cda0335535c74762489498 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • unaffected from 6.6.125 to 6.6.* (incl.)
  • unaffected from 6.12.72 to 6.12.* (incl.)
  • unaffected from 6.18.11 to 6.18.* (incl.)
  • unaffected from 6.19.1 to 6.19.* (incl.)

References