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

smb: client: reject out-of-bounds DataOffset in CIFSSMBRead()

The SMB1 synchronous read helper CIFSSMBRead() validates the server's
DataLength against CIFSMaxBufSize and the caller's count, but never
validates DataOffset. The copy source is formed as

&pSMBr->hdr.Protocol + le16_to_cpu(pSMBr->DataOffset)

and memcpy()'d for DataLength bytes with no check that the
[DataOffset, DataOffset + DataLength) range lies within the response
actually received from the server.

A malicious or compromised SMB1 server can return a response carrying
an in-range DataLength and a large DataOffset, driving the source
pointer past the end of the response buffer. The memcpy() then copies
adjacent kernel heap into the caller's read buffer (information
disclosure), or reads unmapped memory and oopses (denial of service).
SMB1 is not negotiated by default; reaching this code requires an
explicit vers=1.0 mount.

Both DataOffset and the received response length recorded in
rsp_iov.iov_len are relative to the start of the SMB header, so reject
the response unless DataOffset + DataLength fits within that length,
using overflow-safe arithmetic, before forming the source pointer.
The response length has been validated by the previous patch, so the
DataOffset and DataLength fields can be read safely here.

While here, make data_length unsigned. It holds a length derived from
unsigned on-the-wire fields and is only ever compared against unsigned
quantities; print it with %u accordingly, and add __func__ to the
cifs_dbg() calls in this function.
Published: 2026-09-25
Score: 7.0 High
EPSS: < 1% Very Low
KEV: No
Impact: Information disclosure and denial of service via kernel memory over‑read in SMB1 client
Action: Patch
AI Analysis

Impact

The Linux kernel SMB1 client contains a flaw in CIFSSMBRead() that accepts a DataOffset value without validating it against the actual length of the SMB response. An attacker, acting as an SMB1 server, can send a response with a legitimate DataLength but a large DataOffset. The kernel then copies data starting beyond the end of the received response buffer, exposing adjacent kernel heap memory to the user‑land caller and potentially causing a kernel oops or crash. This results in information disclosure or denial of service. The weakness is an unchecked out‑of‑bounds read that corresponds to CWE-125.

Affected Systems

This vulnerability exists in the SMB1 client path of the Linux kernel. The CVE data does not give a specific affected version range. Systems running a kernel that has not received the patch (which validates the DataOffset in CIFSSMBRead()) and that mount an SMB share with the vers=1.0 option are affected.

Risk and Exploitability

The vulnerability has a CVSS score of 7.0 and an EPSS score of less than 1 %, indicating a relatively low probability of exploitation in the wild. Despite that, it remains a high‑severity flaw that could be exploited by a compromised or malicious SMB1 server. Attack requires forcing the client to use SMB1 and manipulating DataOffset. Once achieved, an attacker can trigger memory leaks or crashes. The flaw is not listed in CISA KEV.

Generated by OpenCVE AI on October 1, 2026 at 10:51 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that contains the CIFSSMBRead DataOffset validation fix (commit 5be5bdda5863eacc964b609ba927764f253431b3).
  • Disable SMB1 support in the kernel or in user‑space SMB clients so that vers=1.0 mounts cannot be used.
  • Based on the description, it is inferred that accessing SMB1 shares should be avoided over untrusted networks; restrict access to trusted SMB servers only.

Generated by OpenCVE AI on October 1, 2026 at 10:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 01 Oct 2026 09:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-129
CWE-20
CWE-200

Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Moderate


Fri, 25 Sep 2026 23:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-129
CWE-20
CWE-200

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: smb: client: reject out-of-bounds DataOffset in CIFSSMBRead() The SMB1 synchronous read helper CIFSSMBRead() validates the server's DataLength against CIFSMaxBufSize and the caller's count, but never validates DataOffset. The copy source is formed as &pSMBr->hdr.Protocol + le16_to_cpu(pSMBr->DataOffset) and memcpy()'d for DataLength bytes with no check that the [DataOffset, DataOffset + DataLength) range lies within the response actually received from the server. A malicious or compromised SMB1 server can return a response carrying an in-range DataLength and a large DataOffset, driving the source pointer past the end of the response buffer. The memcpy() then copies adjacent kernel heap into the caller's read buffer (information disclosure), or reads unmapped memory and oopses (denial of service). SMB1 is not negotiated by default; reaching this code requires an explicit vers=1.0 mount. Both DataOffset and the received response length recorded in rsp_iov.iov_len are relative to the start of the SMB header, so reject the response unless DataOffset + DataLength fits within that length, using overflow-safe arithmetic, before forming the source pointer. The response length has been validated by the previous patch, so the DataOffset and DataLength fields can be read safely here. While here, make data_length unsigned. It holds a length derived from unsigned on-the-wire fields and is only ever compared against unsigned quantities; print it with %u accordingly, and add __func__ to the cifs_dbg() calls in this function.
Title smb: client: reject out-of-bounds DataOffset in CIFSSMBRead()
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-09-25T10:21:51.261Z

Reserved: 2026-09-24T16:01:01.155Z

Link: CVE-2026-97563

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:06.883

Modified: 2026-09-25T11:17:06.883

Link: CVE-2026-97563

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-97563 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T11:00:06Z

Weaknesses