CVE-2024-46786
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
18/09/2024
Last modified:
26/09/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF<br />
<br />
The fscache_cookie_lru_timer is initialized when the fscache module<br />
is inserted, but is not deleted when the fscache module is removed.<br />
If timer_reduce() is called before removing the fscache module,<br />
the fscache_cookie_lru_timer will be added to the timer list of<br />
the current cpu. Afterwards, a use-after-free will be triggered<br />
in the softIRQ after removing the fscache module, as follows:<br />
<br />
==================================================================<br />
BUG: unable to handle page fault for address: fffffbfff803c9e9<br />
PF: supervisor read access in kernel mode<br />
PF: error_code(0x0000) - not-present page<br />
PGD 21ffea067 P4D 21ffea067 PUD 21ffe6067 PMD 110a7c067 PTE 0<br />
Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI<br />
CPU: 1 UID: 0 PID: 0 Comm: swapper/1 Tainted: G W 6.11.0-rc3 #855<br />
Tainted: [W]=WARN<br />
RIP: 0010:__run_timer_base.part.0+0x254/0x8a0<br />
Call Trace:<br />
<br />
tmigr_handle_remote_up+0x627/0x810<br />
__walk_groups.isra.0+0x47/0x140<br />
tmigr_handle_remote+0x1fa/0x2f0<br />
handle_softirqs+0x180/0x590<br />
irq_exit_rcu+0x84/0xb0<br />
sysvec_apic_timer_interrupt+0x6e/0x90<br />
<br />
<br />
asm_sysvec_apic_timer_interrupt+0x1a/0x20<br />
RIP: 0010:default_idle+0xf/0x20<br />
default_idle_call+0x38/0x60<br />
do_idle+0x2b5/0x300<br />
cpu_startup_entry+0x54/0x60<br />
start_secondary+0x20d/0x280<br />
common_startup_64+0x13e/0x148<br />
<br />
Modules linked in: [last unloaded: netfs]<br />
==================================================================<br />
<br />
Therefore delete fscache_cookie_lru_timer when removing the fscahe module.
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.17 (including) | 6.6.51 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.10.10 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



