[PATCH] usb: misc: usbio: fix bulk receive overread
From: Griffin Kroah-Hartman
Date: Thu Aug 06 2026 - 09:43:51 EST
Add a check for bpkt_len being more than what was actually sent from the
device in usbio_bulk_msg().
A malicious device could use this vulnerability to claim that more data
was sent, when in reality it was not, leading to an OOB read later on
with the memcpy at the end of the function.
Cc: stable@xxxxxxxxxx
Assisted-by: gkh_clanker_t1000
Signed-off-by: Griffin Kroah-Hartman <griffin@xxxxxxxxx>
---
drivers/usb/misc/usbio.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/misc/usbio.c b/drivers/usb/misc/usbio.c
index 3c2474dca810..794322ff09fd 100644
--- a/drivers/usb/misc/usbio.c
+++ b/drivers/usb/misc/usbio.c
@@ -341,6 +341,9 @@ int usbio_bulk_msg(struct auxiliary_device *adev, u8 type, u8 cmd, bool last,
if (bpkt->header.flags & USBIO_PKTFLAG_ERR)
return -EREMOTEIO;
+ if (bpkt_len > act - sizeof(*bpkt))
+ return -EPROTO;
+
if (ibuf_len < bpkt_len)
return -ENOSPC;
---
base-commit: f5098b6bae761e346ebcd9da7f95622c04733cff
change-id: 20260806-usb_drivers_usbio-55ac8cc2e572
Best regards,
--
Griffin Kroah-Hartman <griffin@xxxxxxxxx>