CVE-2026-23307: Linux kernel · can: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message
Affects Linux kernelSource CVE Database V5
Not known to be exploited · fixed in f10177e6c4575aedaea580ce67d792fab7a2235e : update Linux kernel when convenient.
Data as of 5 Nov 2026, 23:24 UTC
Rated by Threat Radar · No CVSS score from NVD or the CNA
Thin evidence
One scorer or none- EPSS
- 0.1% chance of exploitation in 30 days – higher than 2% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- CISA SSVC
- Exploitation
- No evidence of active exploitation and no public proof of concept
- Automatable
- Attackers cannot reliably automate steps 1–4 of the kill chain
- Technical impact
- Limited control over the software or limited information exposure
CISA SSVC assessment, 2026-11-05.
- Patch
- Available – fixed in f10177e6c4575aedaea580ce67d792fab7a2235e, c703bbf8e9b4947e111c88d2ed09236a6772a471, aed172a2e2330131f0977d2acd3ec8883f413ec1 +5
Exploitation evidence
Disclosed: evidence found.
CVE published 25 Mar 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 5 Nov 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
Description
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.
References
- git.kernel.org/stable/c/aed172a2e2330131f0977d2acd3ec8883f413ec1 (opens in a new tab)
- git.kernel.org/stable/c/f10177e6c4575aedaea580ce67d792fab7a2235e (opens in a new tab)
- git.kernel.org/stable/c/c703bbf8e9b4947e111c88d2ed09236a6772a471 (opens in a new tab)
- git.kernel.org/stable/c/1818974e1b5ef200e27f144c8cb8a246420bb54d (opens in a new tab)
- git.kernel.org/stable/c/18f75b9cbdc3703f15965425ab69dee509b07785 (opens in a new tab)
- git.kernel.org/stable/c/1cf469026d4a2308eaa91d04dca4a900d07a5c2e (opens in a new tab)
- git.kernel.org/stable/c/2833e13e2b099546abf5d40a483b4eb04ddd1f7b (opens in a new tab)
- git.kernel.org/stable/c/38a01c9700b0dcafe97dfa9dc7531bf4a245deff (opens in a new tab)