Description
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.
Published: 2026-11-07
Score: n/a
EPSS: n/a
KEV: No
Impact: Kernel memory corruption
Action: Patch
AI Analysis

Impact

In the Linux kernel, the SMB2_read() function copies a number of bytes from a response buffer based on the DataLength field supplied by a server without confirming that the DataLength and DataOffset values stay within the bounds of the actual response received. This flaw can cause the kernel to read beyond the allocated buffer, leading to a KASAN slab-out-of-bounds error and potentially corrupting kernel memory, which constitutes a CWE-125 vulnerability. The consequence is a serious memory corruption that can result in a kernel crash or denial of service.

Affected Systems

The vulnerability affects the Linux kernel on any distribution that includes the vulnerable SMB client code prior to the patch. No specific version range is given, so all kernel releases before the update containing the fix are at risk.

Risk and Exploitability

An attacker who can establish an SMB session with the victim must control a SMB server capable of sending a crafted READ response. The flaw allows the kernel to copy a server-supplied DataLength that may exceed the actual received data, which can trigger kernel memory corruption. EPSS score is not available and the flaw is not listed in the CISA KEV catalog, but the remote nature of the attack and the severity of the potential memory corruption qualify it as high to critical risk.

Generated by OpenCVE AI on November 7, 2026 at 15:52 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that contains the fix for the SMB2_read data area validation.
  • Reboot the system so that the patched kernel is actively running.
  • If the kernel cannot be updated immediately, restrict SMB client usage or block communication with untrusted SMB servers until the patch is applied.

Generated by OpenCVE AI on November 7, 2026 at 15:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 07 Nov 2026 16:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Sat, 07 Nov 2026 14:15:00 +0000

Type Values Removed Values Added
Description 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.
Title smb: client: validate the data area in SMB2_read()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-11-07T14:08:45.332Z

Reserved: 2026-09-25T10:25:14.404Z

Link: CVE-2026-99272

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-07T14:17:02.477

Modified: 2026-11-07T14:17:02.477

Link: CVE-2026-99272

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-07T16:00:17Z

Weaknesses