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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
634684d79733124f7470b226b0f42aada4426b07 to < b842ef39c2ad6156c13afdec25ecc6792a9b67b9affected8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to < 41b838420457802f21918df66764b6fbf829d330affected8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to < 418b448e1d7470da9d4d4797f71782595ee69c49affected8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to < 58ff8064cb4c7eddac4da1a59da039ead586950aaffected8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to < d0c68045b8b0f3737ed7bd6b8c83b7887014adeeaffected8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to < 3079517a5ba80901fe828a06998da64b9b8749beaffected8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 to < 6a909ea83f226803ea0e718f6e88613df9234d58affected24cd31752f47699b89b4b3471155c8e599a1a23aaffectede9cb474de7ff7a970c2a3951c12ec7e3113c0c35affected6ab671191f64b0da7d547e2ad4dc199ca7e5b558affected3d9281a4ac7171c808f9507f0937eb236b353905affected0b641b25870f02e2423e494365fc5243cc1e2759affectedffd51dbfd2900e50c71b5c069fe407957e52d61faffectedcdd107d7f18158d966c2bc136204fe826dac445caffected5.10.36 to < 5.10.241affected4.4.269 to < 4.5affected4.9.269 to < 4.10affected4.14.233 to < 4.15affected4.19.191 to < 4.20affected5.4.118 to < 5.5affected5.11.20 to < 5.12affected5.12.3 to < 5.13affected
Linux Linux
Default version status: affected
5.13affected0 to < 5.13unaffected5.10.241 to ≤ 5.10.*unaffected5.15.190 to ≤ 5.15.*unaffected6.1.149 to ≤ 6.1.*unaffected6.6.103 to ≤ 6.6.*unaffected6.12.44 to ≤ 6.12.*unaffected6.16.4 to ≤ 6.16.*unaffected6.17 to ≤ *unaffected
References
- 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 ↗
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html ↗
- https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-082556.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-032379.html ↗