CVE-2025-39683
published 2025-09-05CVE-2025-39683: 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…
high7.1CVSS 3.1
AVLACLPRLUINSUCHINAH
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.
Affected
57 ranges· showing 25
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | debian_linux | — | — |
| debian | linux | < linux 6.1.153-1 (bookworm) | linux 6.1.153-1 (bookworm) |
| debian | linux-6.1 | < linux 6.1.153-1 (bookworm) | linux 6.1.153-1 (bookworm) |
| linux | linux | — | — |
| linux | linux | — | — |
| linux | linux | — | — |
| linux | linux | — | — |
| linux | linux | — | — |
| linux | linux | — | — |
| linux | linux | — | — |
| linux | linux | — | — |
| linux | linux | >= 4.14.233 < 4.15 | 4.15 |
| linux | linux | >= 4.19.191 < 4.20 | 4.20 |
| linux | linux | >= 4.4.269 < 4.5 | 4.5 |
| linux | linux | >= 4.9.269 < 4.10 | 4.10 |
| linux | linux | >= 5.10.36 < 5.10.241 | 5.10.241 |
| linux | linux | >= 5.11.20 < 5.12 | 5.12 |
| linux | linux | >= 5.12.3 < 5.13 | 5.13 |
| linux | linux | >= 5.4.118 < 5.5 | 5.5 |
| linux | linux | >= 634684d79733124f7470b226b0f42aada4426b07 < b842ef39c2ad6156c13afdec25ecc6792a9b67b9 | b842ef39c2ad6156c13afdec25ecc6792a9b67b9 |
| linux | linux | >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 < 41b838420457802f21918df66764b6fbf829d330 | 41b838420457802f21918df66764b6fbf829d330 |
| linux | linux | >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 < 418b448e1d7470da9d4d4797f71782595ee69c49 | 418b448e1d7470da9d4d4797f71782595ee69c49 |
| linux | linux | >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 < 58ff8064cb4c7eddac4da1a59da039ead586950a | 58ff8064cb4c7eddac4da1a59da039ead586950a |
| linux | linux | >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 < d0c68045b8b0f3737ed7bd6b8c83b7887014adee | d0c68045b8b0f3737ed7bd6b8c83b7887014adee |
| linux | linux | >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 < 3079517a5ba80901fe828a06998da64b9b8749be | 3079517a5ba80901fe828a06998da64b9b8749be |
CVSS provenance
nvdv3.17.1HIGHCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
osv7.1HIGH