HID: picolcd_core: validate output report details
authorKees Cook <keescook@chromium.org>
Wed, 28 Aug 2013 20:31:52 +0000 (22:31 +0200)
committerJiri Kosina <jkosina@suse.cz>
Wed, 4 Sep 2013 10:03:27 +0000 (12:03 +0200)
A HID device could send a malicious output report that would cause the
picolcd HID driver to trigger a NULL dereference during attr file writing.

[jkosina@suse.cz: changed

report->maxfield < 1

to

report->maxfield != 1

as suggested by Bruno].

CVE-2013-2899

Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: stable@kernel.org
Reviewed-by: Bruno Prémont <bonbons@linux-vserver.org>
Acked-by: Bruno Prémont <bonbons@linux-vserver.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-picolcd_core.c

index b48092d0e1394a73f4c4ef66a21bc490f4b686f0..acbb021065ece8287c9d3ea433c860afc0711855 100644 (file)
@@ -290,7 +290,7 @@ static ssize_t picolcd_operation_mode_store(struct device *dev,
                buf += 10;
                cnt -= 10;
        }
-       if (!report)
+       if (!report || report->maxfield != 1)
                return -EINVAL;
 
        while (cnt > 0 && (buf[cnt-1] == '\n' || buf[cnt-1] == '\r'))