CVE-2024-46786CWE-416

CVE-2024-46786

High · published September 18, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
12.6
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF

The fscache_cookie_lru_timer is initialized when the fscache module

is inserted, but is not deleted when the fscache module is removed.

If timer_reduce() is called before removing the fscache module,

the fscache_cookie_lru_timer will be added to the timer list of

the current cpu. Afterwards, a use-after-free will be triggered

in the softIRQ after removing the fscache module, as follows:

==================================================================

BUG: unable to handle page fault for address: fffffbfff803c9e9

PF: supervisor read access in kernel mode

PF: error_code(0x0000) - not-present page

PGD 21ffea067 P4D 21ffea067 PUD 21ffe6067 PMD 110a7c067 PTE 0

Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI

CPU: 1 UID: 0 PID: 0 Comm: swapper/1 Tainted: G W 6.11.0-rc3 #855

Tainted: [W]=WARN

RIP: 0010:__run_timer_base.part.0+0x254/0x8a0

Call Trace:

<IRQ>

tmigr_handle_remote_up+0x627/0x810

__walk_groups.isra.0+0x47/0x140

tmigr_handle_remote+0x1fa/0x2f0

handle_softirqs+0x180/0x590

irq_exit_rcu+0x84/0xb0

sysvec_apic_timer_interrupt+0x6e/0x90

</IRQ>

<TASK>

asm_sysvec_apic_timer_interrupt+0x1a/0x20

RIP: 0010:default_idle+0xf/0x20

default_idle_call+0x38/0x60

do_idle+0x2b5/0x300

cpu_startup_entry+0x54/0x60

start_secondary+0x20d/0x280

common_startup_64+0x13e/0x148

</TASK>

Modules linked in: [last unloaded: netfs]

==================================================================

Therefore delete fscache_cookie_lru_timer when removing the fscahe module.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00226 · 12.6th percentile
Weakness
CWE-416 · Use After Free
Published
2024-09-18T12:15Z
Affected products (9)
ProductVersionsFixed in
linux/linux_kernel≥ 5.17, < 6.1.1606.1.160
linux/linux_kernel≥ 6.2, < 6.6.516.6.51
linux/linux_kernel≥ 6.7, < 6.10.106.10.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (6)
EPSS history
Timeline
  • 18 SEP 07:12Z
    fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF
    cvelistv5