news.mlab.sh
Vulnerabilities
Vulnerability

CVE-2026-23058

Reference data from vuln.mlab.sh, coverage from our own index.

CVSS
5.5 Medium
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
EPSS
0.17%
Risk score
3.8
Published
2026-02-04
Status
Published

In the Linux kernel, the following vulnerability has been resolved: can: ems_usb: ems_usb_read_bulk_callback(): fix URB memory leak Fix similar memory leak as in commit 7352e1d5932a ("can: gs_usb: gs_usb_receive_bulk_callback(): fix URB memory leak"). In ems_usb_open(), the URBs for USB-in transfers are allocated, added to the dev->rx_submitted anchor and submitted. In the complete callback ems_usb_read_bulk_callback(), the URBs are processed and resubmitted. In ems_usb_close() the URBs are freed by calling usb_kill_anchored_urbs(&dev->rx_submitted). However, this does not take into account that the USB framework unanchors the URB before the complete function is called. This means that once an in-URB has been completed, it is no longer anchored and is ultimately not released in ems_usb_close(). Fix the memory leak by anchoring the URB in the ems_usb_read_bulk_callback() to the dev->rx_submitted anchor. A flaw was found in the Linux kernel's ems_usb Controller Area Network (CAN) Universal Serial Bus (USB) driver. A local user with access to the CAN network interface can repeatedly trigger open and close cycles, leading to a memory leak. This occurs because completed USB Request Blocks (URBs) are unanchored by the USB core before the completion callback runs, preventing proper cleanup. Over time, this resource exhaustion can lead to a denial of service.

Weaknesses

CWE-401

Coverage 3

Advisories and references