[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025090545-CVE-2025-39683-fb08@gregkh>
Date: Fri, 5 Sep 2025 19:20:57 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-39683: tracing: Limit access to parser->buffer when trace_get_user failed
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
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 Linux kernel CVE team has assigned CVE-2025-39683 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.10.36 with commit 634684d79733124f7470b226b0f42aada4426b07 and fixed in 5.10.241 with commit b842ef39c2ad6156c13afdec25ecc6792a9b67b9
Issue introduced in 5.13 with commit 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 and fixed in 5.15.190 with commit 41b838420457802f21918df66764b6fbf829d330
Issue introduced in 5.13 with commit 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 and fixed in 6.1.149 with commit 418b448e1d7470da9d4d4797f71782595ee69c49
Issue introduced in 5.13 with commit 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 and fixed in 6.6.103 with commit 58ff8064cb4c7eddac4da1a59da039ead586950a
Issue introduced in 5.13 with commit 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 and fixed in 6.12.44 with commit d0c68045b8b0f3737ed7bd6b8c83b7887014adee
Issue introduced in 5.13 with commit 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 and fixed in 6.16.4 with commit 3079517a5ba80901fe828a06998da64b9b8749be
Issue introduced in 5.13 with commit 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 and fixed in 6.17-rc3 with commit 6a909ea83f226803ea0e718f6e88613df9234d58
Issue introduced in 4.4.269 with commit 24cd31752f47699b89b4b3471155c8e599a1a23a
Issue introduced in 4.9.269 with commit e9cb474de7ff7a970c2a3951c12ec7e3113c0c35
Issue introduced in 4.14.233 with commit 6ab671191f64b0da7d547e2ad4dc199ca7e5b558
Issue introduced in 4.19.191 with commit 3d9281a4ac7171c808f9507f0937eb236b353905
Issue introduced in 5.4.118 with commit 0b641b25870f02e2423e494365fc5243cc1e2759
Issue introduced in 5.11.20 with commit ffd51dbfd2900e50c71b5c069fe407957e52d61f
Issue introduced in 5.12.3 with commit cdd107d7f18158d966c2bc136204fe826dac445c
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2025-39683
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
kernel/trace/trace.c
kernel/trace/trace.h
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/b842ef39c2ad6156c13afdec25ecc6792a9b67b9
https://git.kernel.org/stable/c/41b838420457802f21918df66764b6fbf829d330
https://git.kernel.org/stable/c/418b448e1d7470da9d4d4797f71782595ee69c49
https://git.kernel.org/stable/c/58ff8064cb4c7eddac4da1a59da039ead586950a
https://git.kernel.org/stable/c/d0c68045b8b0f3737ed7bd6b8c83b7887014adee
https://git.kernel.org/stable/c/3079517a5ba80901fe828a06998da64b9b8749be
https://git.kernel.org/stable/c/6a909ea83f226803ea0e718f6e88613df9234d58
Powered by blists - more mailing lists