CVE-2025-21889

CVE-2025-21889

High · published March 27, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
9.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

perf/core: Add RCU read lock protection to perf_iterate_ctx()

The perf_iterate_ctx() function performs RCU list traversal but

currently lacks RCU read lock protection. This causes lockdep warnings

when running perf probe with unshare(1) under CONFIG_PROVE_RCU_LIST=y:

WARNING: suspicious RCU usage

kernel/events/core.c:8168 RCU-list traversed in non-reader section!!

Call Trace:

lockdep_rcu_suspicious

? perf_event_addr_filters_apply

perf_iterate_ctx

perf_event_exec

begin_new_exec

? load_elf_phdrs

load_elf_binary

? lock_acquire

? find_held_lock

? bprm_execve

bprm_execve

do_execveat_common.isra.0

__x64_sys_execve

do_syscall_64

entry_SYSCALL_64_after_hwframe

This protection was previously present but was removed in commit

bd2756811766 ("perf: Rewrite core context handling"). Add back the

necessary rcu_read_lock()/rcu_read_unlock() pair around

perf_iterate_ctx() call in perf_event_exec().

[ mingo: Use scoped_guard() as suggested by Peter ]

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00205 · 9.9th percentile
Published
2025-03-27T19:15Z
Affected products (7)
ProductVersionsFixed in
linux/linux_kernel≥ 6.2, < 6.6.816.6.81
linux/linux_kernel≥ 6.7, < 6.12.186.12.18
linux/linux_kernel≥ 6.13, < 6.13.66.13.6
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (4)
EPSS history
Timeline
  • 27 MAR 14:57Z
    perf/core: Add RCU read lock protection to perf_iterate_ctx()
    cvelistv5