Executive brief
A vulnerability was identified in the Linux kernel's CH341 USB-to-SPI adapter driver. When the driver fails to initialize properly, it does not correctly clean up system resources, which can lead to memory leaks or system instability. This could potentially be used to cause a denial-of-service or other unpredictable behavior on systems using this specific hardware driver.
Technical details
A resource management vulnerability exists in the Linux kernel's 'spi-ch341.c' driver. The 'ch341_probe' function lacked proper error handling labels to deregister the controller, disable pins, and kill/free the RX USB Request Block (URB) when initialization steps failed. This omission results in memory leaks and potential use-after-free scenarios if the hardware is disconnected or re-probed. The fix introduces a structured error path (goto labels) to ensure all allocated resources are mirrored and released correctly upon failure. Additionally, an explicit URB kill was added to the disconnect path for symmetry.
Affected products
- Linux Linux Kernel 6.11
Timeline
- 2026-03-27: patched: Initial patch authored by Johan Hovold
- 2026-05-27: disclosed: CVE published in NVD