High · published October 21, 2024
In the Linux kernel, the following vulnerability has been resolved:
aoe: fix the potential use-after-free problem in more places
For fixing CVE-2023-6270, f98364e92662 ("aoe: fix the potential
use-after-free problem in aoecmd_cfg_pkts") makes tx() calling dev_put()
instead of doing in aoecmd_cfg_pkts(). It avoids that the tx() runs
into use-after-free.
Then Nicolai Stange found more places in aoe have potential use-after-free
problem with tx(). e.g. revalidate(), aoecmd_ata_rw(), resend(), probe()
and aoecmd_cfg_rsp(). Those functions also use aoenet_xmit() to push
packet to tx queue. So they should also use dev_hold() to increase the
refcnt of skb->dev.
On the other hand, moving dev_put() to tx() causes that the refcnt of
skb->dev be reduced to a negative value, because corresponding
dev_hold() are not called in revalidate(), aoecmd_ata_rw(), resend(),
probe(), and aoecmd_cfg_rsp(). This patch fixed this issue.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 5.10.214, < 5.10.227 | 5.10.227 |
| linux/linux_kernel | ≥ 5.15.153, < 5.15.168 | 5.15.168 |
| linux/linux_kernel | ≥ 6.1.83, < 6.1.113 | 6.1.113 |
| linux/linux_kernel | ≥ 6.6.23, < 6.6.55 | 6.6.55 |
| linux/linux_kernel | ≥ 6.7.11, < 6.8.2 | 6.8.2 |
| linux/linux_kernel | ≥ 6.9, < 6.10.14 | 6.10.14 |
| linux/linux_kernel | ≥ 6.11, < 6.11.3 | 6.11.3 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |