can: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message
3Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackepss 0.1%
exploitation probability
0.1%top 98% of all CVEs
observed exploitation
nono source reports it
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.
Affected products
Linux · LinuxReferences
https://git.kernel.org/stable/c/1818974e1b5ef200e27f144c8cb8a246420bb54dhttps://git.kernel.org/stable/c/18f75b9cbdc3703f15965425ab69dee509b07785https://git.kernel.org/stable/c/1cf469026d4a2308eaa91d04dca4a900d07a5c2ehttps://git.kernel.org/stable/c/2833e13e2b099546abf5d40a483b4eb04ddd1f7bhttps://git.kernel.org/stable/c/38a01c9700b0dcafe97dfa9dc7531bf4a245deffhttps://git.kernel.org/stable/c/aed172a2e2330131f0977d2acd3ec8883f413ec1https://git.kernel.org/stable/c/c703bbf8e9b4947e111c88d2ed09236a6772a471https://git.kernel.org/stable/c/f10177e6c4575aedaea580ce67d792fab7a2235e