CVE-2024-38385
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
25/06/2024
Last modified:
03/09/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
genirq/irqdesc: Prevent use-after-free in irq_find_at_or_after()<br />
<br />
irq_find_at_or_after() dereferences the interrupt descriptor which is<br />
returned by mt_find() while neither holding sparse_irq_lock nor RCU read<br />
lock, which means the descriptor can be freed between mt_find() and the<br />
dereference:<br />
<br />
CPU0 CPU1<br />
desc = mt_find()<br />
delayed_free_desc(desc)<br />
irq_desc_get_irq(desc)<br />
<br />
The use-after-free is reported by KASAN:<br />
<br />
Call trace:<br />
irq_get_next_irq+0x58/0x84<br />
show_stat+0x638/0x824<br />
seq_read_iter+0x158/0x4ec<br />
proc_reg_read_iter+0x94/0x12c<br />
vfs_read+0x1e0/0x2c8<br />
<br />
Freed by task 4471:<br />
slab_free_freelist_hook+0x174/0x1e0<br />
__kmem_cache_free+0xa4/0x1dc<br />
kfree+0x64/0x128<br />
irq_kobj_release+0x28/0x3c<br />
kobject_put+0xcc/0x1e0<br />
delayed_free_desc+0x14/0x2c<br />
rcu_do_batch+0x214/0x720<br />
<br />
Guard the access with a RCU read lock section.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.5 (including) | 6.6.34 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.9.5 (excluding) |
To consult the complete list of CPE names with products and versions, see this page



