blob: 9dbcd1b8f7f456fdca52b75f45bb101342684128 [file] [log] [blame]
From bippy-1.2.0 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@kernel.org>
To: <linux-cve-announce@vger.kernel.org>
Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org>
Subject: CVE-2022-21546: scsi: target: Fix WRITE_SAME No Data Buffer crash
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
scsi: target: Fix WRITE_SAME No Data Buffer crash
In newer version of the SBC specs, we have a NDOB bit that indicates there
is no data buffer that gets written out. If this bit is set using commands
like "sg_write_same --ndob" we will crash in target_core_iblock/file's
execute_write_same handlers when we go to access the se_cmd->t_data_sg
because its NULL.
This patch adds a check for the NDOB bit in the common WRITE SAME code
because we don't support it. And, it adds a check for zero SG elements in
each handler in case the initiator tries to send a normal WRITE SAME with
no data buffer.
The Linux kernel CVE team has assigned CVE-2022-21546 to this issue.
Affected and fixed versions
===========================
Fixed in 5.4.294 with commit 54e57be2573cf0b8bf650375fd8752987b6c3d3b
Fixed in 5.10.238 with commit d8e6a27e9238dd294d6f2f401655f300dca20899
Fixed in 5.15.182 with commit 4226622647e3e5ac06d3ebc1605b917446157510
Fixed in 5.19 with commit ccd3f449052449a917a3e577d8ba0368f43b8f29
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-2022-21546
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:
drivers/target/target_core_file.c
drivers/target/target_core_iblock.c
drivers/target/target_core_sbc.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/54e57be2573cf0b8bf650375fd8752987b6c3d3b
https://git.kernel.org/stable/c/d8e6a27e9238dd294d6f2f401655f300dca20899
https://git.kernel.org/stable/c/4226622647e3e5ac06d3ebc1605b917446157510
https://git.kernel.org/stable/c/ccd3f449052449a917a3e577d8ba0368f43b8f29