summaryrefslogtreecommitdiff
path: root/scripts/basic
diff options
context:
space:
mode:
authorDiego Oliva <diego@bynar.io>2026-09-02 11:42:06 +0100
committerPaulo Alcantara <pc@manguebit.org>2026-09-02 15:28:39 -0300
commite6142a8bfc230c7263eb8b0475249c958ce49367 (patch)
treea622198c40ff6cb12be27be88ae8cbc9fffcf035 /scripts/basic
parent89a312991dc6e638a36adc43ccb91dbc25504c04 (diff)
downloadlinux-e6142a8bfc230c7263eb8b0475249c958ce49367.tar.gz
linux-e6142a8bfc230c7263eb8b0475249c958ce49367.zip
smb: client: reject short READ responses in CIFSSMBRead()
CIFSSMBRead() reads DataLengthHigh, DataLength and DataOffset out of the READ_RSP returned by the server without first checking that a whole READ_RSP was actually received. The length of the response is recorded in rsp_iov.iov_len, but nothing constrains it to be at least read_rsp_size before those fields are dereferenced. A malicious or compromised SMB1 server can return a response shorter than the READ_RSP header, so that parsing the header itself reads past the end of the receive buffer. SMB1 is not negotiated by default; reaching this code requires an explicit vers=1.0 mount. Reject the response unless it is at least read_rsp_size bytes long. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Suggested-by: Paulo Alcantara <pc@manguebit.org> Cc: stable@vger.kernel.org # 6.19.x Assisted-by: Bynario AI Signed-off-by: Diego Oliva <diego@bynar.io> Reviewed-by: David Howells <dhowells@redhat.com> Signed-off-by: Paulo Alcantara <pc@manguebit.org>
Diffstat (limited to 'scripts/basic')
0 files changed, 0 insertions, 0 deletions