---
id: CVE-2026-99274
title: 'smb: client: fix fiemap wild read on empty truncated response'
summary: |-
  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 …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 <
    4a426ca5be7e3dedbe76575b967db04fbf01136f
  - >-
    Linux >= 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 <
    31f6dbb29fe17fa9595c7e8b19fd92915b03a4ca
  - >-
    Linux >= 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 <
    f5baa17a0f316c235d61623ac8e8fb32c2b3c0cc
  - Linux 5.2
published: '2026-11-07'
updated: '2026-11-07'
sourceUpdated: '2026-11-07T14:08:45.924Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-99274'
references:
  - url: 'https://git.kernel.org/stable/c/4a426ca5be7e3dedbe76575b967db04fbf01136f'
  - url: 'https://git.kernel.org/stable/c/31f6dbb29fe17fa9595c7e8b19fd92915b03a4ca'
  - url: 'https://git.kernel.org/stable/c/f5baa17a0f316c235d61623ac8e8fb32c2b3c0cc'
tags:
  - cve.org
ingestedAt: '2026-11-07T14:18:21.462Z'
---

## Overview

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.

## Affected

- `Linux >= 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 < 4a426ca5be7e3dedbe76575b967db04fbf01136f`
- `Linux >= 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 < 31f6dbb29fe17fa9595c7e8b19fd92915b03a4ca`
- `Linux >= 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 < f5baa17a0f316c235d61623ac8e8fb32c2b3c0cc`
- `Linux 5.2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
