CVE-2025-39914CWE-415

CVE-2025-39914

Medium · published October 1, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
6.0
In the wild
Unconfirmed
What it is

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

tracing: Silence warning when chunk allocation fails in trace_pid_write

Syzkaller trigger a fault injection warning:

WARNING: CPU: 1 PID: 12326 at tracepoint_add_func+0xbfc/0xeb0

Modules linked in:

CPU: 1 UID: 0 PID: 12326 Comm: syz.6.10325 Tainted: G U 6.14.0-rc5-syzkaller #0

Tainted: [U]=USER

Hardware name: Google Compute Engine/Google Compute Engine

RIP: 0010:tracepoint_add_func+0xbfc/0xeb0 kernel/tracepoint.c:294

Code: 09 fe ff 90 0f 0b 90 0f b6 74 24 43 31 ff 41 bc ea ff ff ff

RSP: 0018:ffffc9000414fb48 EFLAGS: 00010283

RAX: 00000000000012a1 RBX: ffffffff8e240ae0 RCX: ffffc90014b78000

RDX: 0000000000080000 RSI: ffffffff81bbd78b RDI: 0000000000000001

RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000

R10: 0000000000000001 R11: 0000000000000001 R12: ffffffffffffffef

R13: 0000000000000000 R14: dffffc0000000000 R15: ffffffff81c264f0

FS: 00007f27217f66c0(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000

CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033

CR2: 0000001b2e80dff8 CR3: 00000000268f8000 CR4: 00000000003526f0

DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000

DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Call Trace:

<TASK>

tracepoint_probe_register_prio+0xc0/0x110 kernel/tracepoint.c:464

register_trace_prio_sched_switch include/trace/events/sched.h:222 [inline]

register_pid_events kernel/trace/trace_events.c:2354 [inline]

event_pid_write.isra.0+0x439/0x7a0 kernel/trace/trace_events.c:2425

vfs_write+0x24c/0x1150 fs/read_write.c:677

ksys_write+0x12b/0x250 fs/read_write.c:731

do_syscall_x64 arch/x86/entry/common.c:52 [inline]

do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83

entry_SYSCALL_64_after_hwframe+0x77/0x7f

We can reproduce the warning by following the steps below:

1. echo 8 >> set_event_notrace_pid. Let tr->filtered_pids owns one pid

and register sched_switch tracepoint.

2. echo ' ' >> set_event_pid, and perform fault injection during chunk

allocation of trace_pid_list_alloc. Let pid_list with no pid and

assign to tr->filtered_pids.

3. echo ' ' >> set_event_pid. Let pid_list is NULL and assign to

tr->filtered_pids.

4. echo 9 >> set_event_pid, will trigger the double register

sched_switch tracepoint warning.

The reason is that syzkaller injects a fault into the chunk allocation

in trace_pid_list_alloc, causing a failure in trace_pid_list_set, which

may trigger double register of the same tracepoint. This only occurs

when the system is about to crash, but to suppress this warning, let's

add failure handling logic to trace_pid_list_set.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00169 · 6.0th percentile
Weakness
CWE-415 · Double Free
Published
2025-10-01T12:15Z
Affected products (10)
ProductVersionsFixed in
linux/linux_kernel≥ 5.16, < 6.1.1536.1.153
linux/linux_kernel≥ 6.2, < 6.6.1076.6.107
linux/linux_kernel≥ 6.7, < 6.12.486.12.48
linux/linux_kernel≥ 6.13, < 6.16.86.16.8
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
debian/debian_linuxall versions—
References (6)
EPSS history
Timeline
  • 01 OCT 07:44Z
    tracing: Silence warning when chunk allocation fails in trace_pid_write
    cvelistv5