CVE-2021-46969 bus: mhi: core: Fix invalid error returning in mhi_queue
A use-after-free vulnerability in the Linux kernel MHI bus driver allows attackers to potentially execute code or cause a denial of service.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2021-46969?
CVE-2021-46969 is a high-severity use after free vulnerability in Linux kernel, published on 27 Feb 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:
bus: mhi: core: Fix invalid error returning in mhi_queue
mhi_queue returns an error when the doorbell is not accessible in the current state. This can happen when the device is in non M0 state, like M3, and needs to be waken-up prior ringing the DB. This case is managed earlier by triggering an asynchronous M3 exit via controller resume/suspend callbacks, that in turn will cause M0 transition and DB update.
So, since it's not an error but just delaying of doorbell update, there is no reason to return an error.
This also fixes a use after free error for skb case, indeed a caller queuing skb will try to free the skb if the queueing fails, but in that case queueing has been done.
Weakness: CWE-416
Which versions are affected by CVE-2021-46969?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2021-46969?
No fix has been published for CVE-2021-46969 yet. Limit exposure of the affected software until one is available.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2021-46969 being exploited?
There is no known exploitation of CVE-2021-46969 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as GHSA-c4q6-cxg2-pxc8, UBUNTU-CVE-2021-46969.