All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hwmon: (aquacomputer_d5next) reject short status reports
@ 2026-09-24 15:11 Jiale Yao
  2026-09-24 15:22 ` sashiko-bot
  2026-09-24 16:05 ` Guenter Roeck
  0 siblings, 2 replies; 5+ messages in thread
From: Jiale Yao @ 2026-09-24 15:11 UTC (permalink / raw)
  To: Aleksa Savic, Jack Doan, Guenter Roeck, linux-hwmon, linux-kernel
  Cc: Jiale Yao, stable

The HID driver raw_event callback runs before HID core validates the
received report length.  aqc_raw_event() reads device-specific status
fields at fixed offsets, including multi-byte values, without checking
that the received buffer contains the complete report.  A truncated status
report can therefore cause out-of-bounds reads and update hwmon state with
data beyond the received report.

Reject status reports shorter than the length derived from their report
descriptor before accessing any fields.  Commit 47669bec44fe ("HID: asus:
refactor the two workqueues and init sequence") added equivalent raw-event
length validation to hid-asus.

Fixes: 0e35f63f7f4e ("hwmon: add driver for Aquacomputer D5 Next")
Cc: stable@vger.kernel.org
Signed-off-by: Jiale Yao <yaojiale02@163.com>
---
 drivers/hwmon/aquacomputer_d5next.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/hwmon/aquacomputer_d5next.c b/drivers/hwmon/aquacomputer_d5next.c
index 1ca70e726298..1ebc8bc4c090 100644
--- a/drivers/hwmon/aquacomputer_d5next.c
+++ b/drivers/hwmon/aquacomputer_d5next.c
@@ -1331,6 +1331,8 @@ static int aqc_raw_event(struct hid_device *hdev, struct hid_report *report, u8
 
 	if (report->id != STATUS_REPORT_ID)
 		return 0;
+	if (size < hid_report_len(report))
+		return 0;
 
 	priv = hid_get_drvdata(hdev);
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-09-28 11:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-24 15:11 [PATCH] hwmon: (aquacomputer_d5next) reject short status reports Jiale Yao
2026-09-24 15:22 ` sashiko-bot
2026-09-24 16:05 ` Guenter Roeck
2026-09-27  9:06   ` jiale yao
2026-09-28 11:15     ` Guenter Roeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.