Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Kees Cook <keescook-F7+t8E8rja9g9hUCZPvPmw <at> public.gmane.org>
Subject: Linux HID security flaws
Newsgroups: gmane.comp.security.oss.general
Date: Wednesday 28th August 2013 21:32:06 UTC (over 4 years ago)
Hi,

I've found several issues in the Linux HID code. They are making their way
into the Linux kernel via the linux-input tree now:


http://marc.info/?l=linux-input&m=137772180514608&w=1
0001-HID-validate-HID-report-id-size.patch
CVE-2013-2888
Requires CONFIG_HID
Memory write via arbitrary heap array index. This is the most serious,
IMO, as it allows (on 32-bit) access to the entire memory range (the
index is unsigned 32 bit). This is mitigated slightly by the fact that
the starting address is at an "unknown" location on the heap, and that
the value written is an "arbitrary" kernel pointer. Still, this could
almost certainly be turned into full kernel execution given enough
study.

http://marc.info/?l=linux-input&m=137772181214612&w=1
0002-HID-provide-a-helper-for-validating-hid-reports.patch
Routine that many of the driver fixes use to verify their report sanity.

http://marc.info/?l=linux-input&m=137772182014614&w=1
0003-HID-zeroplus-validate-output-report-details.patch
CVE-2013-2889
Requires CONFIG_HID_ZEROPLUS
Small past-end-of-heap-alloc zeroing.

http://marc.info/?l=linux-input&m=137772182814616&w=1
0004-HID-sony-validate-HID-output-report-details.patch
CVE-2013-2890
Requires CONFIG_HID_SONY
Small past-end-of-heap-alloc zeroing

http://marc.info/?l=linux-input&m=137772184614622&w=1
0005-HID-steelseries-validate-output-report-details.patch
CVE-2013-2891
Requires CONFIG_HID_STEELSERIES
16 byte past-end-of-heap-alloc zeroing

http://marc.info/?l=linux-input&m=137772185414625&w=1
0006-HID-pantherlord-validate-output-report-details.patch
CVE-2013-2892
Requires CONFIG_HID_PANTHERLORD
Small past-end-of-heap-alloc zeroing

http://marc.info/?l=linux-input&m=137772186714627&w=1
0007-HID-LG-validate-HID-output-report-details.patch
CVE-2013-2893
Requires CONFIG_LOGITECH_FF or CONFIG_LOGIG940_FF or CONFIG_LOGIWHEELS_FF
Userspace-assisted small past-end-of-heap-alloc zeroing

http://marc.info/?l=linux-input&m=137772187514628&w=1
0008-HID-lenovo-tpkbd-validate-output-report-details.patch
CVE-2013-2894
Requires CONFIG_HID_LENOVO_TPKBD
Small past-end-of-heap-alloc zeroing

http://marc.info/?l=linux-input&m=137772188314631&w=1
0009-HID-logitech-dj-validate-output-report-details.patch
CVE-2013-2895
Requires CONFIG_HID_LOGITECH_DJ
Can leak up to 12K of kernel memory contents to device, or NULL deref Oops
DoS

http://marc.info/?l=linux-input&m=137772189314633&w=1
0010-HID-ntrig-validate-feature-report-details.patch
CVE-2013-2896
Requires CONFIG_HID_NTRIG
Triggers NULL deref Oops DoS

http://marc.info/?l=linux-input&m=137772190214635&w=1
0011-HID-multitouch-validate-feature-report-details.patch
CVE-2013-2897
Requires CONFIG_HID_MULTITOUCH
Slightly flexible heap overwrite with static value 0x2, or NULL deref Oops
DoS

http://marc.info/?l=linux-input&m=137772191114645&w=1
0012-HID-sensor-hub-validate-feature-report-details.patch
CVE-2013-2898
Requires CONFIG_HID_SENSOR_HUB
Potential kernel caller confusion via past-end-of-heap-allocation read

http://marc.info/?l=linux-input&m=137772191714649&w=1
0013-HID-picolcd_core-validate-output-report-details.patch
CVE-2013-2899
Requires CONFIG_HID_PICOLCD
Userspace-assisted NULL deref Oops DoS

http://marc.info/?t=137772196600012&r=1&w=1
0014-HID-check-for-NULL-field-when-setting-values.patch
Just a defensive change, since several drivers would have been less
vulnerable with this check.


-Kees

-- 
Kees Cook
Chrome OS Security
 
CD: 4ms