In the Linux kernel, the following vulnerability has been resolved: can: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message When looking at the data in a USB urb, the actual_length is the size of the buffer passed to the driver, not the transfer_buffer_length which is set by the driver as the max size of the buffer. When parsing the messages in ems_usb_read_bulk_callback() properly check the size both at the beginning of parsing the message to make sure it is big enough for the expected structure, and at the end of the message to make sure we don't overflow past the end of the buffer for the next message.
https://git.kernel.org/stable/c/c703bbf8e9b4947e111c88d2ed09236a6772a471
https://git.kernel.org/stable/c/38a01c9700b0dcafe97dfa9dc7531bf4a245deff
https://git.kernel.org/stable/c/2833e13e2b099546abf5d40a483b4eb04ddd1f7b
https://git.kernel.org/stable/c/1cf469026d4a2308eaa91d04dca4a900d07a5c2e
https://git.kernel.org/stable/c/18f75b9cbdc3703f15965425ab69dee509b07785
https://git.kernel.org/stable/c/1818974e1b5ef200e27f144c8cb8a246420bb54d