CVE-2024-26653 usb: misc: ljca: Fix double free in error handling path
A double free vulnerability in the Linux kernel's LJCA USB driver allows attackers to cause a denial of service or potentially execute code via crafted error handling paths.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-26653?
CVE-2024-26653 is a high-severity memory corruption vulnerability in Linux kernel, published on 1 Apr 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
usb: misc: ljca: Fix double free in error handling path
When auxiliary_device_add() returns error and then calls auxiliary_device_uninit(), callback function ljca_auxdev_release calls kfree(auxdev->dev.platform_data) to free the parameter data of the function ljca_new_client_device. The callers of ljca_new_client_device shouldn't call kfree() again in the error handling path to free the platform data.
Fix this by cleaning up the redundant kfree() in all callers and adding kfree() the passed in platform_data on errors which happen before auxiliary_device_init() succeeds .
Weakness: CWE-415
Which versions are affected by CVE-2024-26653?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-26653?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2024-26653 being exploited?
There is no known exploitation of CVE-2024-26653 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2024-26653, DEBIAN-CVE-2024-26653, GHSA-7pq6-8v5c-6wmr, UBUNTU-CVE-2024-26653.