CVE-2026-23307
Received Received - Intake
Buffer Overflow in Linux can: ems_usb Driver Fixed

Publication date: 2026-03-25

Last updated on: 2026-04-18

Assigner: kernel.org

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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-25
Last Modified
2026-04-18
Generated
2026-05-07
AI Q&A
2026-03-25
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Linux kernel's ems_usb driver, specifically in the ems_usb_read_bulk_callback() function. The issue arises because the function does not properly check the length of messages it processes. It uses actual_length, which is the size of the buffer passed to the driver, instead of transfer_buffer_length, which is the maximum buffer size set by the driver. This improper length checking can lead to parsing messages without ensuring they are large enough or without preventing overflow past the end of the buffer.


How can this vulnerability impact me? :

The vulnerability can lead to buffer overflows when parsing USB messages in the ems_usb driver. This could potentially cause memory corruption, crashes, or allow an attacker to execute arbitrary code within the kernel context, leading to system compromise or instability.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart