Cloudanix VulnDB

CVE-2026-23037

None

CVSS

—

EPSS

0.2%

Published

Jan 31, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A driver bug in the Linux kernel can slowly leak memory on certain CAN bus devices, eventually causing slowdowns or crashes if left unfixed.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Failure to return success on partial RX URB allocation in es58x_alloc_rx_urbs causes es58x_open to skip the free_urbs cleanup path, leaking anchored USB request blocks and producing a memory leak in the etas_es58x CAN driver.

Why it matters to the business

Long-running systems using the affected ETAS ES58x hardware may experience gradual kernel memory exhaustion, leading to degraded performance or forced reboots; widespread Linux kernel usage increases exposure across automotive and industrial deployments.

How an attack unfolds

An attacker with local access triggers repeated device open/close operations under memory pressure that causes partial URB allocation; each failed full allocation leaks resources without cleanup, eventually exhausting memory and impacting system stability.

How to fix it

Update the Linux kernel to a version containing commit 97250eb05e4b6afe787290e8fd97d0675116c61b or later; rebuild and deploy the updated kernel image on all affected hosts.

How to confirm the fix worked

Confirm the running kernel contains commit 97250eb05e4b6afe787290e8fd97d0675116c61b by checking git log or kernel version string; exercise es58x_open under constrained memory to verify no URB leaks occur via kmemleak or slabinfo monitoring.

Typical attack path

  1. Obtain local access or ability to open the CAN device node
  2. Induce repeated es58x_open calls while free memory is low enough to produce partial URB allocation
  3. Allow leaked URBs to accumulate until kernel memory pressure causes denial of service

How to detect it

Review kernel logs for repeated es58x_open failures coinciding with rising slab or URB allocation counts; inspect kmemleak reports or /proc/meminfo trends on systems with the etas_es58x module loaded.

What your security team should do

  • Prioritize kernel upgrades on systems exposing the etas_es58x driver within the next maintenance window
  • Monitor for kernel memory pressure indicators on hosts using ETAS ES58x hardware
  • Apply the fix in all stable kernel branches used by production fleets

The record

In the Linux kernel, the following vulnerability has been resolved: can: etas_es58x: allow partial RX URB allocation to succeed When es58x_alloc_rx_urbs() fails to allocate the requested number of URBs but succeeds in allocating some, it returns an error code. This causes es58x_open() to return early, skipping the cleanup label 'free_urbs', which leads to the anchored URBs being leaked. As pointed out by maintainer Vincent Mailhol, the driver is designed to handle partial URB allocation gracefully. Therefore, partial allocation should not be treated as a fatal error. Modify es58x_alloc_rx_urbs() to return 0 if at least one URB has been allocated, restoring the intended behavior and preventing the leak in es58x_open().

Affected packages

Ecosystem Package Introduced Fixed
Linux Kernel 5.13.0 5.15.199
openSUSE:Leap 16.0 dtb-aarch64 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-64kb 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-azure 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-default 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-default-base 0 6.12.0-160000.27.1.160000.2.8
openSUSE:Leap 16.0 kernel-docs 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-kvmsmall 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-obs-build 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-obs-qa 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-rt 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-source 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-syms 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-zfcpdump 0 6.12.0-160000.27.1

Related vulnerabilities