CVE-2025-39683CWE-125

CVE-2025-39683

High · published September 5, 2025

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

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

tracing: Limit access to parser->buffer when trace_get_user failed

When the length of the string written to set_ftrace_filter exceeds

FTRACE_BUFF_MAX, the following KASAN alarm will be triggered:

BUG: KASAN: slab-out-of-bounds in strsep+0x18c/0x1b0

Read of size 1 at addr ffff0000d00bd5ba by task ash/165

CPU: 1 UID: 0 PID: 165 Comm: ash Not tainted 6.16.0-g6bcdbd62bd56-dirty

Hardware name: linux,dummy-virt (DT)

Call trace:

show_stack+0x34/0x50 (C)

dump_stack_lvl+0xa0/0x158

print_address_description.constprop.0+0x88/0x398

print_report+0xb0/0x280

kasan_report+0xa4/0xf0

__asan_report_load1_noabort+0x20/0x30

strsep+0x18c/0x1b0

ftrace_process_regex.isra.0+0x100/0x2d8

ftrace_regex_release+0x484/0x618

__fput+0x364/0xa58

____fput+0x28/0x40

task_work_run+0x154/0x278

do_notify_resume+0x1f0/0x220

el0_svc+0xec/0xf0

el0t_64_sync_handler+0xa0/0xe8

el0t_64_sync+0x1ac/0x1b0

The reason is that trace_get_user will fail when processing a string

longer than FTRACE_BUFF_MAX, but not set the end of parser->buffer to 0.

Then an OOB access will be triggered in ftrace_regex_release->

ftrace_process_regex->strsep->strpbrk. We can solve this problem by

limiting access to parser->buffer when trace_get_user failed.

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.00184 · 7.6th percentile
Weakness
CWE-125 · Out-of-bounds Read
Published
2025-09-05T22:15Z
Affected products (15)
ProductVersionsFixed in
linux/linux_kernel≥ 4.4.269, < 4.54.5
linux/linux_kernel≥ 4.9.269, < 4.104.10
linux/linux_kernel≥ 4.14.233, < 4.154.15
linux/linux_kernel≥ 4.19.191, < 4.204.20
linux/linux_kernel≥ 5.4.118, < 5.55.5
linux/linux_kernel≥ 5.10.36, < 5.10.2415.10.241
linux/linux_kernel≥ 5.11.20, < 5.125.12
linux/linux_kernel≥ 5.12.3, < 5.15.1905.15.190
linux/linux_kernel≥ 5.16, < 6.1.1496.1.149
linux/linux_kernel≥ 6.2, < 6.6.1036.6.103
linux/linux_kernel≥ 6.7, < 6.12.446.12.44
linux/linux_kernel≥ 6.13, < 6.16.46.16.4
linux/linux_kernelall versions—
linux/linux_kernelall versions—
debian/debian_linuxall versions—
References (11)
EPSS history
Timeline
  • 05 SEP 17:20Z
    tracing: Limit access to parser->buffer when trace_get_user failed
    cvelistv5