smb: client: fix fiemap wild read on empty truncated response
Summary
| CVE | CVE-2026-99274 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-11-07 14:17:02 UTC |
| Updated | 2026-11-07 14:17:02 UTC |
| Description | 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
next = out_data[num - 1].file_offset + ...
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. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 4a426ca5be7e3dedbe76575b967db04fbf01136f git |
Not specified |
| CNA |
Linux |
Linux |
affected 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 31f6dbb29fe17fa9595c7e8b19fd92915b03a4ca git |
Not specified |
| CNA |
Linux |
Linux |
affected 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 f5baa17a0f316c235d61623ac8e8fb32c2b3c0cc git |
Not specified |
| CNA |
Linux |
Linux |
affected 5.2 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 5.2 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.61 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.3.2 7.3.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.4-rc1 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/f5baa17a0f316c235d61623ac8e8fb32c2b3c0cc |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/31f6dbb29fe17fa9595c7e8b19fd92915b03a4ca |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/4a426ca5be7e3dedbe76575b967db04fbf01136f |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.