CVE-2025-39683

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

State
Published
Severity
7.8 High
Published
Sep 5, 2025
Updated
Oct 15, 2026
Reserved
Apr 16, 2025

Read the record on cve.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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 634684d79733124f7470b226b0f42aada4426b07 to before b842ef39c2ad6156c13afdec25ecc6792a9b67b9Affected
  • 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to before 41b838420457802f21918df66764b6fbf829d330Affected
  • 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to before 418b448e1d7470da9d4d4797f71782595ee69c49Affected
  • 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to before 58ff8064cb4c7eddac4da1a59da039ead586950aAffected
  • 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to before d0c68045b8b0f3737ed7bd6b8c83b7887014adeeAffected
  • 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to before 3079517a5ba80901fe828a06998da64b9b8749beAffected
  • 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to before 6a909ea83f226803ea0e718f6e88613df9234d58Affected
  • 24cd31752f47699b89b4b3471155c8e599a1a23aAffected
  • e9cb474de7ff7a970c2a3951c12ec7e3113c0c35Affected
  • 6ab671191f64b0da7d547e2ad4dc199ca7e5b558Affected
  • 3d9281a4ac7171c808f9507f0937eb236b353905Affected
  • 0b641b25870f02e2423e494365fc5243cc1e2759Affected
  • ffd51dbfd2900e50c71b5c069fe407957e52d61fAffected
  • cdd107d7f18158d966c2bc136204fe826dac445cAffected
  • 5.10.36 to before 5.10.241Affected
  • 4.4.269 to before 4.5Affected
  • 4.9.269 to before 4.10Affected
  • 4.14.233 to before 4.15Affected
  • 4.19.191 to before 4.20Affected
  • 5.4.118 to before 5.5Affected
  • 5.11.20 to before 5.12Affected
  • 5.12.3 to before 5.13Affected
LinuxLinux
  • 5.13Affected
  • before 5.13Not affected
  • 5.10.241 through 5.10.*Not affected
  • 5.15.190 through 5.15.*Not affected
  • 6.1.149 through 6.1.*Not affected
  • 6.6.103 through 6.6.*Not affected
  • 6.12.44 through 6.12.*Not affected
  • 6.16.4 through 6.16.*Not affected
  • 6.17 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.