+14
−2
Loading
Add two checks to ft260_raw_event() to prevent out-of-bounds reads from malicious or malfunctioning devices: First, reject reports shorter than the 2-byte header (report ID + length fields). Without this, even accessing xfer->length on a 1-byte report is an OOB read. Second, validate xfer->length against the actual data capacity of the received HID report. Each I2C data report ID (0xD0 through 0xDE) defines a different report size in the HID descriptor, so the available payload varies per report. A corrupted length field could cause memcpy to read beyond the report buffer. Reported-by:Sebastián Josué Alba Vives <sebasjosue84@gmail.com> Signed-off-by:
Michael Zaidman <michael.zaidman@gmail.com> Signed-off-by:
Jiri Kosina <jkosina@suse.com>