Linux kernel
cpe:2.3:a:linux:linux_kernel:*:*:*:*:*:*:*, +3 more
A memory leak vulnerability has been identified in the Linux kernel's EMS USB CAN interface driver. This issue arises in the 'ems_usb_read_bulk_callback()' function, where USB Request Blocks (URBs) for incoming USB transfers are not properly released when the 'ems_usb_close()' function is called. The problem occurs because the USB framework unanchors the URB before the completion callback is executed, leading to URBs being left unfreed. The vulnerability affects the Linux kernel stable tree.
The vulnerability causes a memory leak by failing to release URBs that have been processed, which can lead to increased memory usage and potential exhaustion of system resources over time.
The vulnerability can be reproduced by using the EMS USB CAN interface with the Linux kernel stable tree. When USB-in transfers are initiated, the URBs are allocated and submitted but not properly released when the interface is closed, creating a memory leak.
The vulnerability has been fixed in the Linux kernel stable tree by updating the 'ems_usb_read_bulk_callback()' function to re-anchor the URB before it is processed, ensuring that it is properly released when the interface is closed.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.