---
id: CVE-2026-99272
title: 'smb: client: validate the data area in SMB2_read()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  smb: client: validate the data area in SMB2_read()

  SMB2_read() copies le32_to_cpu(rsp->DataLength) bytes from
  (char *)rsp + rsp->DataOffset without checking that the r…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= d8e050398d23ef7c019c96200b80d73f4e5cec0c <
    1ba1937de005e261a8858f45bfef5da7458df94c
  - >-
    Linux >= d8e050398d23ef7c019c96200b80d73f4e5cec0c <
    2ec9cdf469dd32bcf33073aeb30c08e9356e0ca1
  - Linux 3.7
published: '2026-11-07'
updated: '2026-11-07'
sourceUpdated: '2026-11-07T14:08:45.332Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-99272'
references:
  - url: 'https://git.kernel.org/stable/c/1ba1937de005e261a8858f45bfef5da7458df94c'
  - url: 'https://git.kernel.org/stable/c/2ec9cdf469dd32bcf33073aeb30c08e9356e0ca1'
tags:
  - cve.org
ingestedAt: '2026-11-07T14:18:21.467Z'
---

## Overview

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

smb: client: validate the data area in SMB2_read()

SMB2_read() copies le32_to_cpu(rsp->DataLength) bytes from
(char *)rsp + rsp->DataOffset without checking that the range lies
within the response actually received. A READ response with
DataOffset == 0 makes smb2_get_data_area_len() zero the data length, so
smb2_check_message() accepts a frame as short as the fixed response,
while SMB2_read() still uses the server-supplied DataLength, capped only
by CIFS_MAX_MSGSIZE and the caller's length.

A malicious server can answer the synchronous read used by the
mfsymlinks (or SFU) symlink parser with an 81-byte READ response
carrying DataOffset 0 and DataLength 1067, making the client copy 1067
bytes from a 448-byte receive object (KASAN slab-out-of-bounds; up to
16 KiB in the general case).

Clamp a zero (or header-overlapping) DataOffset to read_rsp_size, as
handle_read_data() does for the asynchronous path, and reject the
response unless DataOffset + DataLength fits within rsp_iov.iov_len.
The SMB1 helper was fixed the same way in 5be5bdda5863.

## Affected

- `Linux >= d8e050398d23ef7c019c96200b80d73f4e5cec0c < 1ba1937de005e261a8858f45bfef5da7458df94c`
- `Linux >= d8e050398d23ef7c019c96200b80d73f4e5cec0c < 2ec9cdf469dd32bcf33073aeb30c08e9356e0ca1`
- `Linux 3.7`

## Remediation

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