Message ID | tencent_ADA5210D1317EEB6CD7F3DE9FE9DA4591D05@qq.com |
---|---|
State | New |
Headers | show |
Series | [v2] scsi: fix out of bounds error in /drivers/scsi | expand |
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 3f6e87705b62..eeaa6af294b8 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -3384,7 +3384,7 @@ static void sd_read_block_limits_ext(struct scsi_disk *sdkp) rcu_read_lock(); vpd = rcu_dereference(sdkp->device->vpd_pgb7); - if (vpd && vpd->len >= 2) + if (vpd && vpd->len >= 6) sdkp->rscs = vpd->data[5] & 1; rcu_read_unlock(); }
6.15-stable review patch, vulnerability exists since v6.9 Out-of-bounds vulnerability found in ./drivers/scsi/sd.c The vulnerability is found by is found by Wukong-Agent (formerly Tencent Woodpecker), a code security AI agent, through static code analysis. sd_read_block_limits_ext Function Due to Unreasonable boundary checks. Out-of-bounds read vulnerability exists in the Linux kernel's SCSI disk driver (./drivers/scsi/sd.c). The flaw occurs in the sd_read_block_limits_ext function when processing Vital Product Data (VPD) page B7 (Block Limits Extension) responses from storage devices A maliciously crafted 4-byte VPD page (0xB7) would cause Out-of-Bounds Memory Read, leading to potential system Instability and Driver State Corruption. Signed-off-by: jackysliu <1972843537@qq.com> --- drivers/scsi/sd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)