Skip to content

Commit 41df7f6

Browse files
keesJiri Kosina
authored andcommitted
HID: steelseries: validate output report details
A HID device could send a malicious output report that would cause the steelseries HID driver to write beyond the output report allocation during initialization, causing a heap overflow: [ 167.981534] usb 1-1: New USB device found, idVendor=1038, idProduct=1410 ... [ 182.050547] BUG kmalloc-256 (Tainted: G W ): Redzone overwritten CVE-2013-2891 Signed-off-by: Kees Cook <[email protected]> Cc: [email protected] Reviewed-by: Benjamin Tissoires <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
1 parent 9446edb commit 41df7f6

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/hid/hid-steelseries.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,11 @@ static int steelseries_srws1_probe(struct hid_device *hdev,
249249
goto err_free;
250250
}
251251

252+
if (!hid_validate_values(hdev, HID_OUTPUT_REPORT, 0, 0, 16)) {
253+
ret = -ENODEV;
254+
goto err_free;
255+
}
256+
252257
ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
253258
if (ret) {
254259
hid_err(hdev, "hw start failed\n");

0 commit comments

Comments
 (0)