CVE-2026-99274 PUBLISHED

smb: client: fix fiemap wild read on empty truncated response

Assigner: Linux
Reserved: 25.09.2026 Published: 07.11.2026 Updated: 07.11.2026

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

smb: client: fix fiemap wild read on empty truncated response

smb3_fiemap() treats -E2BIG from SMB2_ioctl() as a truncated range blob and loops for the next chunk. If the server reports STATUS_BUFFER_OVERFLOW with OutputCount == 0, SMB2_ioctl() returns -E2BIG with out_data == NULL and out_data_len == 0, and the existing length checks accept the empty result. The loop then evaluates

<pre>next = out_data[num - 1].file_offset + ... </pre>

with num == 0, reading 16 bytes before NULL.

Reject a truncated range blob that contains no range, so the resume offset is never computed from an empty response. Also require the last range in a truncated blob to advance the resume offset without overflowing, and to stay within the requested range; a malicious or broken server could otherwise make no progress or underflow len and loop forever. Free the previous response buffer before retrying.

Reproduced on 6.6.87.2 with a malicious SMB2 server that answers FSCTL_QUERY_ALLOCATED_RANGES with STATUS_BUFFER_OVERFLOW and OutputCount == 0; an FS_IOC_FIEMAP ioctl on the mount oopses in cifs_fiemap() with CR2 = fffffffffffffff8. The code path is unchanged on mainline.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 to 4a426ca5be7e3dedbe76575b967db04fbf01136f (excl.)
  • affected from 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 to 31f6dbb29fe17fa9595c7e8b19fd92915b03a4ca (excl.)
  • affected from 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 to f5baa17a0f316c235d61623ac8e8fb32c2b3c0cc (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.2 is affected
  • unaffected from 0 to 5.2 (excl.)
  • unaffected from 6.18.61 to 6.18.* (incl.)
  • unaffected from 7.3.2 to 7.3.* (incl.)
  • unaffected from 7.4-rc1 to * (incl.)

References