CVE-2024-53213 Information

Description

In the Linux kernel the following vulnerability has been resolved:

net: usb: lan78xx: Fix double free issue with interrupt buffer allocation

In lan78xx_probe() the buffer buf was being freed twice: once implicitly through usb_free_urb(dev->urb_intr) with the URB_FREE_BUFFER flag and again explicitly by kfree(buf). This caused a double free issue.

To resolve this reordered kmalloc() and usb_alloc_urb() calls to simplify the initialization sequence and removed the redundant kfree(buf). Now buf is allocated after usb_alloc_urb() ensuring it is correctly managed by usb_fill_int_urb() and freed by usb_free_urb() as intended.

Reference

https://git.kernel.org/stable/c/03819abbeb11117dcbba40bfe322b88c0c88a6b6 https://git.kernel.org/stable/c/7ac9f3c981eeceee2ec4d30d850f4a6f50a1ec40 https://git.kernel.org/stable/c/977128343fc2a30737399b58df8ea77e94f164bd https://git.kernel.org/stable/c/a422ebec863d99d5607fb41bb7af3347fcb436d3 https://git.kernel.org/stable/c/b09512aea6223eec756f52aa584fc29eeab57480

Share on: