CVE-2026-74456: can: peak_usb: peak_usb_start(): fix double free of transfer buffer on URB submit error
In the Linux kernel, the following vulnerability has been resolved:
can: peakusb: peakusbstart(): fix double free of transfer buffer on URB submit error
In peakusbstart(), each RX URB transfer buffer is allocated with kmalloc() and the URB is flagged URBFREEBUFFER so that the final usbfreeurb() also frees the transfer buffer.
If usbsubmiturb() fails, the error path frees the buffer explicitly with kfree(buf) and then calls usbfreeurb(urb). Because URBFREEBUFFER is set, usbfreeurb() -> urbdestroy() frees the same buffer a second time, a double free of the transfer buffer.
BUG: KASAN: double-free in usbfreeurb.part.0+0x91/0xb0 Free of addr ffff8881069ccb80 by task trigger.sh/285
Call Trace: kfree+0x113/0x3c0 usbfreeurb.part.0+0x91/0xb0
Drop the redundant kfree(buf); usbfreeurb() already releases the transfer buffer. This mirrors commit 03819abbeb11 ("net: usb: lan78xx: Fix double free issue with interrupt buffer allocation").
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-74456?
The severity of CVE-2026-74456 is rated 34.
What does CVE-2026-74456 involve?
CVE-2026-74456 involves a fix for a double free of the transfer buffer during URB submit error in the Linux kernel.
How do I fix CVE-2026-74456?
To fix CVE-2026-74456, ensure that the Linux kernel is updated to a version that includes the patch addressing this vulnerability.
What systems are affected by CVE-2026-74456?
CVE-2026-74456 affects systems using the Linux kernel that utilize the peak_usb module.
Is CVE-2026-74456 a critical vulnerability?
CVE-2026-74456 is classified as a vulnerability due to the potential for a double free exploit in the Linux kernel.