CVE-2026-23307: can: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message
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.
Security readout for executives and security teams
Plain-English summary
CVE-2026-23307 is a Linux kernel bug in the EMS USB CAN driver. The driver could parse beyond the real USB transfer length because it trusted the maximum buffer size instead of the actual received length. Business impact depends on whether affected systems use this USB CAN driver.
Executive priority
Treat this as a targeted kernel maintenance issue, not a broad internet emergency based on current evidence. Prioritize patching engineering, industrial, automotive, or lab systems using USB CAN adapters, and fold the rest into normal kernel update cycles.
Technical view
In ems_usb_read_bulk_callback(), message parsing used transfer_buffer_length rather than actual_length. The fix adds size checks before parsing expected structures and after each message so parsing cannot pass the end of the received USB buffer.
Likely exposure
Exposure is likely limited to Linux systems running affected kernel versions with the EMS USB CAN driver present or in use. General servers without this driver or relevant USB CAN hardware are less likely to be exposed, but inventory should confirm module availability and kernel backports.
Exploitation context
The bundle marks KEV as false and provides no cited evidence of active exploitation, public exploit code, or a CVSS score. The issue appears to require interaction with data processed by the EMS USB CAN USB driver, but exact attacker prerequisites are not fully described.
Researcher notes
The core defect is an input length validation error in a USB receive callback. Severity, CWE, CVSS, and exploitability details are absent from the provided sources. Focus analysis on actual_length boundary handling, backport coverage, and whether ems_usb is reachable in your deployment.
Mitigation direction
Update to a Linux kernel or distribution package containing the referenced stable fixes.
Check distribution vendor advisories for backported fixes and supported kernel timelines.
Prioritize systems where EMS USB CAN hardware or the ems_usb driver is used.
Limit attachment of untrusted USB CAN devices where operationally practical.
Track vendor guidance because no separate workaround is named in the sources.
Validation and detection
Inventory running Linux kernel versions across systems.
Confirm whether the ems_usb driver is built, loadable, or loaded.
Verify vendor kernel packages include one of the referenced stable fixes or backports.
Review asset groups using USB CAN adapters for patch priority.
Confirm no unsupported affected kernels remain in operational environments.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-23307 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
9Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Mar 25, 2026, 10:27 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.