CVE-2026-64257: smb: client: reject overlapping data areas in SMB2 responses

Greg Kroah-Hartman <[email protected]> Sat, 25 Jul 2026 10:47:54 +0200
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026072556-CVE-2026-64257-cdc9@gregkh>
From: Greg Kroah-Hartman <[email protected]>

Description
===========

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

smb: client: reject overlapping data areas in SMB2 responses

Commit 53b7c271f06b ("smb: client: restrict implied bcc[0] exemption to
responses without data area") restricted the implied bcc[0] length
exception to responses without a data area. However, the overlap
handling in __smb2_calc_size() clears data_length, which can make an
invalid response appear to have no data area and so qualify for the
exception.

Track data area overlap separately and reject such responses before
applying the length compatibility exceptions.

The Linux kernel CVE team has assigned CVE-2026-64257 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 7.2-rc3 with commit 53b7c271f06be4dd5cfc8c6ef552a8355c891a7f and fixed in 7.2-rc4 with commit 8986c932905ea508d66da421eb2eb6e676ace1fe
	Issue introduced in 5.10.261 with commit 8d0bbc78046d264bbf6a574ea6f9072258a43e35
	Issue introduced in 5.15.212 with commit b6a381c01e2ac98a48e32ac0f2a45bbadd9e26b0

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-64257
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	fs/smb/client/smb2misc.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/445ece263131780dee273d727a4d6f11934feec7
	https://git.kernel.org/stable/c/36bfa52459e45c0d5b668de2f1c91f6dc5c67775
	https://git.kernel.org/stable/c/4a9d2657d3e05f6ed09c148cb127b4e58702275f
	https://git.kernel.org/stable/c/fdafa1e68dc75045b7b617e6e7d2854950804d83
	https://git.kernel.org/stable/c/57cba95f0e97c6f6e45e6731da30aff091bd7460
	https://git.kernel.org/stable/c/8986c932905ea508d66da421eb2eb6e676ace1fe