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.
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | - | 5.4.294 |
| linux / linux_kernel | 5.5 | 5.10.238 |
| linux / linux_kernel | 5.11 | 5.15.182 |
| linux / linux_kernel | 5.16 | 5.19 |
| linux / linux_kernel | 5.19-rc1 | 5.19-rc1.x |
| linux / linux_kernel | 5.19-rc2 | 5.19-rc2.x |
| linux / linux_kernel | 5.19-rc3 | 5.19-rc3.x |
| linux / linux_kernel | 5.19-rc4 | 5.19-rc4.x |
| linux / linux_kernel | 5.19-rc5 | 5.19-rc5.x |
| linux / linux_kernel | 5.19-rc6 | 5.19-rc6.x |
| debian / debian_linux | 11.0 | 11.0.x |