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.
CVSS
7.8 HIGH (v3.1, CNA)CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
from 634684d79733124f7470b226b0f42aada4426b07 before b842ef39c2ad6156c13afdec25ecc6792a9b67b9; from 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 before 41b838420457802f21918df66764b6fbf829d330; from 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 before 418b448e1d7470da9d4d4797f71782595ee69c49; from 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 before 58ff8064cb4c7eddac4da1a59da039ead586950a; from 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 before d0c68045b8b0f3737ed7bd6b8c83b7887014adee; from 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 before 3079517a5ba80901fe828a06998da64b9b8749be; 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 builds before 6a909ea83f226803ea0e718f6e88613df9234d58; 24cd31752f47699b89b4b3471155c8e599a1a23a; and 14 more ranges
from 4.4.269 before 4.5; from 4.9.269 before 4.10; from 4.14.233 before 4.15; from 4.19.191 before 4.20; from 5.4.118 before 5.5; from 5.10.36 before 5.10.241; from 5.11.20 before 5.12; from 5.12.3 before 5.15.190; and 6 more ranges
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.
Printed from infosecsignals.com. Every record links back to the agency that published it.
Your cookie choices
We use essential cookies to run this site, and, only with your consent, an advertising cookie from Google to measure whether our ads lead to sign-ups and subscriptions. See our for details.