# CVE-2026-97563: smb: client: reject out-of-bounds DataOffset in CIFSSMBRead()

CVE-2026-97563 is fixed in 14 products on 1 platform, first by DEBIAN-CVE-2026-97563, released October 2, 2026. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2026-97563
- Priority: High
- CVSS: 7.3 (Moderate)
- EPSS: 0.0020
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Sep 25, 2026
- Vendor advisory: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-97563

## 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.

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | dtb-aarch64 opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-64kb opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-64kb sles 16.0 | 6.12.0-160000.40.1 | [SUSE-SU-2026:24446-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-24446-1.md) | Nov 7, 2026 |
| Linux | kernel-azure opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-azure sles 16.0 | 6.12.0-160000.40.1 | [SUSE-SU-2026:24446-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-24446-1.md) | Nov 7, 2026 |
| Linux | kernel-default opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-default sles 16.0 | 6.12.0-160000.40.1 | [SUSE-SU-2026:24446-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-24446-1.md) | Nov 7, 2026 |
| Linux | kernel-default-base opensuse-leap 16.0 | 6.12.0-160000.40.1.160000.2.29 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-default-base sles 16.0 | 6.12.0-160000.40.1.160000.2.29 | [SUSE-SU-2026:24446-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-24446-1.md) | Nov 7, 2026 |
| Linux | kernel-docs opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-docs sles 16.0 | 6.12.0-160000.40.1 | [SUSE-SU-2026:24446-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-24446-1.md) | Nov 7, 2026 |
| Linux | kernel-kvmsmall opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-kvmsmall sles 16.0 | 6.12.0-160000.40.1 | [SUSE-SU-2026:24446-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-24446-1.md) | Nov 7, 2026 |
| Linux | kernel-obs-build opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-obs-qa opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-obs-qa sles 16.0 | 6.12.0-160000.40.1 | [SUSE-SU-2026:24446-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-24446-1.md) | Nov 7, 2026 |
| Linux | kernel-rt opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-source opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-source sles 16.0 | 6.12.0-160000.40.1 | [SUSE-SU-2026:24446-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-24446-1.md) | Nov 7, 2026 |
| Linux | kernel-syms opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-syms sles 16.0 | 6.12.0-160000.40.1 | [SUSE-SU-2026:24446-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-24446-1.md) | Nov 7, 2026 |
| Linux | kernel-zfcpdump opensuse-leap 16.0 | 6.12.0-160000.40.1 | [OPENSUSE-SU-2026:22167-1](https://patchblox.com/security/data/fix/linux/opensuse-su-2026-22167-1.md) | Nov 7, 2026 |
| Linux | kernel-zfcpdump sles 16.0 | 6.12.0-160000.40.1 | [SUSE-SU-2026:24446-1](https://patchblox.com/security/data/fix/linux/suse-su-2026-24446-1.md) | Nov 7, 2026 |
| Linux | linux Debian 14 | 7.2.7-1 | [DEBIAN-CVE-2026-97563](https://patchblox.com/security/data/fix/linux/debian-cve-2026-97563.md) | Oct 2, 2026 |

---

Data as of 2026-11-08T00:53:09Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
