diff options
author | Kees Cook <keescook@chromium.org> | 2013-08-28 22:31:44 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-26 17:18:16 -0700 |
commit | a3957df756ccf3a46c24c8e2d4f8b26c932357b3 (patch) | |
tree | 68d32899f4adbbfb225ad490ab4aa3d2c41c5b77 | |
parent | 469e7f80f25f79a4c11bed47027da81fcf30d045 (diff) | |
download | linux-3.10-a3957df756ccf3a46c24c8e2d4f8b26c932357b3.tar.gz linux-3.10-a3957df756ccf3a46c24c8e2d4f8b26c932357b3.tar.bz2 linux-3.10-a3957df756ccf3a46c24c8e2d4f8b26c932357b3.zip |
HID: sensor-hub: validate feature report details
commit 9e8910257397372633e74b333ef891f20c800ee4 upstream.
A HID device could send a malicious feature report that would cause the
sensor-hub HID driver to read past the end of heap allocation, leaking
kernel memory contents to the caller.
CVE-2013-2898
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/hid/hid-sensor-hub.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/hid/hid-sensor-hub.c b/drivers/hid/hid-sensor-hub.c index ca749810732..aa34755ca20 100644 --- a/drivers/hid/hid-sensor-hub.c +++ b/drivers/hid/hid-sensor-hub.c @@ -221,7 +221,8 @@ int sensor_hub_get_feature(struct hid_sensor_hub_device *hsdev, u32 report_id, mutex_lock(&data->mutex); report = sensor_hub_report(report_id, hsdev->hdev, HID_FEATURE_REPORT); - if (!report || (field_index >= report->maxfield)) { + if (!report || (field_index >= report->maxfield) || + report->field[field_index]->report_count < 1) { ret = -EINVAL; goto done_proc; } |