CVE-2025-22035

EUVD-2025-11251
In the Linux kernel, the following vulnerability has been resolved:

tracing: Fix use-after-free in print_graph_function_flags during tracer switching

Kairui reported a UAF issue in print_graph_function_flags() during
ftrace stress testing [1]. This issue can be reproduced if puting a
'mdelay(10)' after 'mutex_unlock(&trace_types_lock)' in s_start(),
and executing the following script:

  $ echo function_graph > current_tracer
  $ cat trace > /dev/null &
  $ sleep 5  # Ensure the 'cat' reaches the 'mdelay(10)' point
  $ echo timerlat > current_tracer

The root cause lies in the two calls to print_graph_function_flags
within print_trace_line during each s_show():

  * One through 'iter->trace->print_line()';
  * Another through 'event->funcs->trace()', which is hidden in
    print_trace_fmt() before print_trace_line returns.

Tracer switching only updates the former, while the latter continues
to use the print_line function of the old tracer, which in the script
above is print_graph_function_flags.

Moreover, when switching from the 'function_graph' tracer to the
'timerlat' tracer, s_start only calls graph_trace_close of the
'function_graph' tracer to free 'iter->private', but does not set
it to NULL. This provides an opportunity for 'event->funcs->trace()'
to use an invalid 'iter->private'.

To fix this issue, set 'iter->private' to NULL immediately after
freeing it in graph_trace_close(), ensuring that an invalid pointer
is not passed to other tracers. Additionally, clean up the unnecessary
'iter->private = NULL' during each 'cat trace' when using wakeup and
irqsoff tracers.

 [1] https://lore.kernel.org/all/20231112150030.84609-1-ryncsn@gmail.com/
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
7.8 HIGH
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 25%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
4.14.324 ≤
𝑥
< 4.15
linuxlinux_kernel
4.19.293 ≤
𝑥
< 4.20
linuxlinux_kernel
5.4.255 ≤
𝑥
< 5.4.292
linuxlinux_kernel
5.10.193 ≤
𝑥
< 5.10.236
linuxlinux_kernel
5.15.129 ≤
𝑥
< 5.15.180
linuxlinux_kernel
6.1.50 ≤
𝑥
< 6.1.134
linuxlinux_kernel
6.4.13 ≤
𝑥
< 6.6.87
linuxlinux_kernel
6.7 ≤
𝑥
< 6.12.23
linuxlinux_kernel
6.13 ≤
𝑥
< 6.13.11
linuxlinux_kernel
6.14 ≤
𝑥
< 6.14.2
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.170-3
fixed
bookworm (security)
6.1.174-1
fixed
bullseye
vulnerable
bullseye (security)
5.10.257-1
fixed
forky
7.0.10-1
fixed
sid
7.0.10-1
fixed
trixie
6.12.86-1
fixed
trixie (security)
6.12.90-2
fixed
linux-6.1
bullseye (security)
6.1.174-1~deb11u1
fixed
openSUSE logo
openSUSE / SLES Releases
openSUSE Product
Release
cluster-md-kmp-default
suse enterprise server 12 SP5
4.12.14-122.266.1
fixed
dlm-kmp-default
suse enterprise server 12 SP5
4.12.14-122.266.1
fixed
gfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.266.1
fixed
kernel-64kb
suse enterprise desktop 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.6.1
fixed
kernel-azure
suse enterprise sap 15 SP6
6.4.0-150600.8.43.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.20.6.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.8.43.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.6.1
fixed
kernel-default
suse enterprise desktop 15 SP6
6.4.0-150600.23.60.5
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.60.5
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise server 12 SP5
4.12.14-122.266.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.60.5
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.6.1
fixed
kernel-default-base
suse enterprise desktop 15 SP6
6.4.0-150600.23.60.5.150600.12.26.4
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.6.1.150700.17.6.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.60.5.150600.12.26.4
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.6.1.150700.17.6.1
fixed
suse enterprise server 12 SP5
4.12.14-122.266.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.60.5.150600.12.26.4
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.6.1.150700.17.6.1
fixed
kernel-default-man
suse enterprise server 12 SP5
4.12.14-122.266.1
fixed
kernel-docs
suse enterprise desktop 15 SP6
6.4.0-150600.23.60.3
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.60.3
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.60.3
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.6.1
fixed
kernel-macros
suse enterprise desktop 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise server 12 SP5
4.12.14-122.266.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.6.1
fixed
kernel-obs-build
suse enterprise desktop 15 SP6
6.4.0-150600.23.60.3
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.60.3
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.60.3
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.6.1
fixed
kernel-source
suse enterprise desktop 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise server 12 SP5
4.12.14-122.266.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.6.1
fixed
kernel-source-azure
suse enterprise sap 15 SP6
6.4.0-150600.8.43.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.20.6.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.8.43.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.6.1
fixed
kernel-syms
suse enterprise desktop 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise server 12 SP5
4.12.14-122.266.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.6.1
fixed
kernel-syms-azure
suse enterprise sap 15 SP6
6.4.0-150600.8.43.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.20.6.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.8.43.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.6.1
fixed
kernel-zfcpdump
suse enterprise desktop 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.6.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.60.4
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.6.1
fixed
ocfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.266.1
fixed