Skip to content
Fencer Vulns
no cvss —

CVE-2026-97563 json

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

published 2026-09-25 44 d ago modified 2026-10-19 20 d ago also EUVD-2026-86871

cvss
—
not scored
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 9%
public exploits
0
none known

Summary

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.

Patch / fix

  • Linux Linux 7.2.7, 7.3
  • linux Debian 14 7.2.7-1

debian advisories DEBIAN-CVE-2026-97563

  • linux Ubuntu 26.04 LTS 7.0.0-42.42
  • linux-aws Ubuntu 26.04 LTS 7.0.0-1016.17
  • linux-gcp Ubuntu 26.04 LTS 7.0.0-1016.18
  • linux-ibm Ubuntu 26.04 LTS 7.0.0-1017.17
  • linux-riscv Ubuntu 26.04 LTS 7.0.0-42.42.1
  • linux-oracle Ubuntu 26.04 LTS 7.0.0-1015.16
  • linux-hwe-7.0 Ubuntu 24.04 LTS 7.0.0-42.42~24.04.1
  • linux-oem-7.0 Ubuntu 26.04 LTS 7.0.0-1017.17

ubuntu advisories UBUNTU-CVE-2026-97563

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • kernel-source Linux Micro 6.0 6.4.0-159998.55.1
  • kernel-default Linux Micro 6.0 6.4.0-159998.55.1
  • kernel-kvmsmall Linux Micro 6.0 6.4.0-159998.55.1
  • kernel-default-base Linux Micro 6.0 6.4.0-159998.55.1.159998.21.42
  • kernel-rt Linux Micro 6.2 6.12.0-160000.40.1
  • kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.40.1
  • kernel-source SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.40.1
  • kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.40.1

suse advisories SUSE-SU-2026:24550-1SUSE-SU-2026:24422-1SUSE-SU-2026:24446-1SUSE-SU-2026:24437-1SUSE-SU-2026:24386-1

  • kernel-rt openSUSE Leap 16.0 6.12.0-160000.40.1
  • dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.40.1
  • kernel-64kb openSUSE Leap 16.0 6.12.0-160000.40.1
  • kernel-syms openSUSE Leap 16.0 6.12.0-160000.40.1
  • kernel-azure openSUSE Leap 16.0 6.12.0-160000.40.1
  • kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.40.1
  • kernel-source openSUSE Leap 16.0 6.12.0-160000.40.1
  • kernel-default openSUSE Leap 16.0 6.12.0-160000.40.1

opensuse advisories openSUSE-SU-2026:22167-1openSUSE-SU-2026:12074-1

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-97563 updated cvss 8.1

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

  • Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernel Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8, openshift/ose-rhel-coreos-9 Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9
    affected: workaround, no fix available
  • Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

0.19% chance of exploitation in the next 30 days, higher than 9% of all scored CVEs (FIRST EPSS, 2026-11-08).

Affected products

  • Linux Linux

Classification

Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.