---
id: CVE-2025-39683
title: 'tracing: Limit access to parser->buffer when trace_get_user failed'
summary: |-
  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 KA…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 634684d79733124f7470b226b0f42aada4426b07 <
    b842ef39c2ad6156c13afdec25ecc6792a9b67b9
  - >-
    Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 <
    41b838420457802f21918df66764b6fbf829d330
  - >-
    Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 <
    418b448e1d7470da9d4d4797f71782595ee69c49
  - >-
    Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 <
    58ff8064cb4c7eddac4da1a59da039ead586950a
  - >-
    Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 <
    d0c68045b8b0f3737ed7bd6b8c83b7887014adee
  - >-
    Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 <
    3079517a5ba80901fe828a06998da64b9b8749be
  - >-
    Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 <
    6a909ea83f226803ea0e718f6e88613df9234d58
  - Linux 24cd31752f47699b89b4b3471155c8e599a1a23a
  - Linux e9cb474de7ff7a970c2a3951c12ec7e3113c0c35
  - Linux 6ab671191f64b0da7d547e2ad4dc199ca7e5b558
  - Linux 3d9281a4ac7171c808f9507f0937eb236b353905
  - Linux 0b641b25870f02e2423e494365fc5243cc1e2759
  - Linux ffd51dbfd2900e50c71b5c069fe407957e52d61f
  - Linux cdd107d7f18158d966c2bc136204fe826dac445c
  - Linux >= 5.10.36 < 5.10.241
  - Linux >= 4.4.269 < 4.5
  - Linux >= 4.9.269 < 4.10
  - Linux >= 4.14.233 < 4.15
  - Linux >= 4.19.191 < 4.20
  - Linux >= 5.4.118 < 5.5
  - Linux >= 5.11.20 < 5.12
  - Linux >= 5.12.3 < 5.13
  - Linux 5.13
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-15T21:53:16.510449Z'
published: '2025-09-05'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T22:02:30.066Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-39683'
references:
  - url: 'https://git.kernel.org/stable/c/b842ef39c2ad6156c13afdec25ecc6792a9b67b9'
  - url: 'https://git.kernel.org/stable/c/41b838420457802f21918df66764b6fbf829d330'
  - url: 'https://git.kernel.org/stable/c/418b448e1d7470da9d4d4797f71782595ee69c49'
  - url: 'https://git.kernel.org/stable/c/58ff8064cb4c7eddac4da1a59da039ead586950a'
  - url: 'https://git.kernel.org/stable/c/d0c68045b8b0f3737ed7bd6b8c83b7887014adee'
  - url: 'https://git.kernel.org/stable/c/3079517a5ba80901fe828a06998da64b9b8749be'
  - url: 'https://git.kernel.org/stable/c/6a909ea83f226803ea0e718f6e88613df9234d58'
tags:
  - cve.org
epss: 0.00184
epssPercentile: 0.07952
ingestedAt: '2026-10-15T05:52:46.080Z'
---

## Overview

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

- `Linux >= 634684d79733124f7470b226b0f42aada4426b07 < b842ef39c2ad6156c13afdec25ecc6792a9b67b9`
- `Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 < 41b838420457802f21918df66764b6fbf829d330`
- `Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 < 418b448e1d7470da9d4d4797f71782595ee69c49`
- `Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 < 58ff8064cb4c7eddac4da1a59da039ead586950a`
- `Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 < d0c68045b8b0f3737ed7bd6b8c83b7887014adee`
- `Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 < 3079517a5ba80901fe828a06998da64b9b8749be`
- `Linux >= 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 < 6a909ea83f226803ea0e718f6e88613df9234d58`
- `Linux 24cd31752f47699b89b4b3471155c8e599a1a23a`
- `Linux e9cb474de7ff7a970c2a3951c12ec7e3113c0c35`
- `Linux 6ab671191f64b0da7d547e2ad4dc199ca7e5b558`
- `Linux 3d9281a4ac7171c808f9507f0937eb236b353905`
- `Linux 0b641b25870f02e2423e494365fc5243cc1e2759`
- `Linux ffd51dbfd2900e50c71b5c069fe407957e52d61f`
- `Linux cdd107d7f18158d966c2bc136204fe826dac445c`
- `Linux >= 5.10.36 < 5.10.241`
- `Linux >= 4.4.269 < 4.5`
- `Linux >= 4.9.269 < 4.10`
- `Linux >= 4.14.233 < 4.15`
- `Linux >= 4.19.191 < 4.20`
- `Linux >= 5.4.118 < 5.5`
- `Linux >= 5.11.20 < 5.12`
- `Linux >= 5.12.3 < 5.13`
- `Linux 5.13`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
