7.8
CVE-2024-49982
- EPSS 0.04%
- Veröffentlicht 21.10.2024 18:15:18
- Zuletzt bearbeitet 03.11.2025 23:16:36
- Quelle 416baaa9-dc9f-4396-8d5f-8c081f
- CVE-Watchlists
- Unerledigt
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.
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
Linux ≫ Linux Kernel Version >= 5.10.214 < 5.10.227
Linux ≫ Linux Kernel Version >= 5.15.153 < 5.15.168
Linux ≫ Linux Kernel Version >= 6.1.83 < 6.1.113
Linux ≫ Linux Kernel Version >= 6.6.23 < 6.6.55
Linux ≫ Linux Kernel Version >= 6.7.11 < 6.8.2
Linux ≫ Linux Kernel Version >= 6.9 < 6.10.14
Linux ≫ Linux Kernel Version >= 6.11 < 6.11.3
Linux ≫ Linux Kernel Version4.19.311
Linux ≫ Linux Kernel Version5.4.273
Linux ≫ Linux Kernel Version6.12 Updaterc1
| Typ | Quelle | Score | Percentile |
|---|---|---|---|
| EPSS | FIRST.org | 0.04% | 0.13 |
| Quelle | Base Score | Exploit Score | Impact Score | Vector String |
|---|---|---|---|---|
| nvd@nist.gov | 7.8 | 1.8 | 5.9 |
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
|
CWE-416 Use After Free
The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.