In the Linux kernel, the following vulnerability has been resolved:
can: gsusb: gsusbreceivebulk_callback(): fix URB memory leak
In gscanopen(), the URBs for USB-in transfers are allocated, added to the parent->rxsubmitted anchor and submitted. In the complete callback gsusbreceivebulkcallback(), the URB is processed and resubmitted. In gscanclose() the URBs are freed by calling usbkillanchoredurbs(parent->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 gscanclose().
Fix the memory leak by anchoring the URB in the gsusbreceivebulkcallback() to the parent->rx_submitted anchor.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23031.json",
"cna_assigner": "Linux"
}