mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] hwmon: (aquacomputer_d5next) reject short status reports
@ 2026-09-24 15:11 Jiale Yao
  2026-09-24 16:05 ` Guenter Roeck
  0 siblings, 1 reply; 4+ 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	[flat|nested] 4+ messages in thread

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

Thread overview: 4+ 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 16:05 ` Guenter Roeck
2026-09-27  9:06   ` jiale yao
2026-09-28 11:15     ` Guenter Roeck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®