CVE-2026-23307 PUBLISHED

can: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message

Assigner: Linux
Reserved: 13.01.2026 Published: 25.03.2026 Updated: 25.03.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 702171adeed3607ee9603ec30ce081411e36ae42 to c703bbf8e9b4947e111c88d2ed09236a6772a471 (excl.)
  • affected from 702171adeed3607ee9603ec30ce081411e36ae42 to 1818974e1b5ef200e27f144c8cb8a246420bb54d (excl.)
  • affected from 702171adeed3607ee9603ec30ce081411e36ae42 to 18f75b9cbdc3703f15965425ab69dee509b07785 (excl.)
  • affected from 702171adeed3607ee9603ec30ce081411e36ae42 to 1cf469026d4a2308eaa91d04dca4a900d07a5c2e (excl.)
  • affected from 702171adeed3607ee9603ec30ce081411e36ae42 to 2833e13e2b099546abf5d40a483b4eb04ddd1f7b (excl.)
  • affected from 702171adeed3607ee9603ec30ce081411e36ae42 to 38a01c9700b0dcafe97dfa9dc7531bf4a245deff (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.32 is affected
  • unaffected from 0 to 2.6.32 (excl.)
  • unaffected from 6.1.167 to 6.1.* (incl.)
  • unaffected from 6.6.130 to 6.6.* (incl.)
  • unaffected from 6.12.77 to 6.12.* (incl.)
  • unaffected from 6.18.17 to 6.18.* (incl.)
  • unaffected from 6.19.7 to 6.19.* (incl.)
  • unaffected from 7.0-rc3 to * (incl.)

References