CVE-2024-26898 aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts
A use-after-free in the Linux kernel AoE driver allows attackers to cause denial of service or execute arbitrary code via race conditions.
- 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-26898?
CVE-2024-26898 is a high-severity use after free vulnerability in Linux kernel, published on 17 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:
aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts
This patch is against CVE-2023-6270. The description of cve is:
A flaw was found in the ATA over Ethernet (AoE) driver in the Linux kernel. The aoecmd_cfg_pkts() function improperly updates the refcnt on `struct net_device`, and a use-after-free can be triggered by racing between the free on the struct and the access through the `skbtxq` global queue. This could lead to a denial of service condition or potential code execution.
In aoecmd_cfg_pkts(), it always calls dev_put(ifp) when skb initial code is finished. But the net_device ifp will still be used in later tx()->dev_queue_xmit() in kthread. Which means that the dev_put(ifp) should NOT be called in the success path of skb initial code in aoecmd_cfg_pkts(). Otherwise tx() may run into use-after-free because the net_device is freed.
This patch removed the dev_put(ifp) in the success path in aoecmd_cfg_pkts(), and added dev_put() after skb xmit in tx().
Weakness: CWE-416
Which versions are affected by CVE-2024-26898?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-26898?
Apply the vendor's patch.
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-2024-26898 being exploited?
There is no known exploitation of CVE-2024-26898 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-40085, BELL-CVE-2024-26898, DEBIAN-CVE-2024-26898, GHSA-m6wx-5x43-45rq, UBUNTU-CVE-2024-26898.