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.
Published: 2026-03-25
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Memory corruption / Denial of Service
Action: Immediate Patch
AI Analysis

Impact

An improper length check in Linux's ems_usb driver allows malicious USB bulk messages to be processed, potentially causing a buffer overflow that corrupts kernel memory. This flaw, categorized as CWE‑805, can overwrite critical kernel structures and may lead to denial of service or, if exploited further, arbitrary code execution.

Affected Systems

The vulnerability affects any Linux kernel that includes the ems_usb driver. While the advisory does not list specific release numbers, all distributions shipping a kernel with this driver before the patch are potentially exposed.

Risk and Exploitability

The CVSS score of 5.5 indicates moderate severity, and the EPSS score of less than 1% points to a low likelihood of observed exploitation. Based on the description, it is inferred that the attack vector requires a physical or compromised USB device that sends crafted bulk packets to the target system. The issue is not listed in CISA's KEV catalog, suggesting no widespread exploitation is known. Applying the vendor patch remains the best mitigation against this risk.

Generated by OpenCVE AI on March 26, 2026 at 14:43 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest kernel update that includes the ems_usb read bulk callback fix
  • If an immediate upgrade is not possible, disable or unbind the ems_usb driver from unneeded USB devices
  • Configure SELinux, AppArmor, or similar modules to restrict USB device access
  • Monitor system logs for abnormal USB activity and set alerts for malformed packets
  • Ensure USB host controller firmware is up to date to eliminate related weaknesses

Generated by OpenCVE AI on March 26, 2026 at 14:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 18 Apr 2026 09:15:00 +0000


Thu, 26 Mar 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Thu, 26 Mar 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-805
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Wed, 25 Mar 2026 22:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Wed, 25 Mar 2026 10:45:00 +0000

Type Values Removed Values Added
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.
Title can: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-04-18T08:57:53.252Z

Reserved: 2026-01-13T15:37:45.994Z

Link: CVE-2026-23307

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-03-25T11:16:26.657

Modified: 2026-04-18T09:16:18.340

Link: CVE-2026-23307

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-03-25T00:00:00Z

Links: CVE-2026-23307 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-03-27T09:50:00Z

Weaknesses