CVE-2025-21889
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
27/03/2025
Last modified:
29/10/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
perf/core: Add RCU read lock protection to perf_iterate_ctx()<br />
<br />
The perf_iterate_ctx() function performs RCU list traversal but<br />
currently lacks RCU read lock protection. This causes lockdep warnings<br />
when running perf probe with unshare(1) under CONFIG_PROVE_RCU_LIST=y:<br />
<br />
WARNING: suspicious RCU usage<br />
kernel/events/core.c:8168 RCU-list traversed in non-reader section!!<br />
<br />
Call Trace:<br />
lockdep_rcu_suspicious<br />
? perf_event_addr_filters_apply<br />
perf_iterate_ctx<br />
perf_event_exec<br />
begin_new_exec<br />
? load_elf_phdrs<br />
load_elf_binary<br />
? lock_acquire<br />
? find_held_lock<br />
? bprm_execve<br />
bprm_execve<br />
do_execveat_common.isra.0<br />
__x64_sys_execve<br />
do_syscall_64<br />
entry_SYSCALL_64_after_hwframe<br />
<br />
This protection was previously present but was removed in commit<br />
bd2756811766 ("perf: Rewrite core context handling"). Add back the<br />
necessary rcu_read_lock()/rcu_read_unlock() pair around<br />
perf_iterate_ctx() call in perf_event_exec().<br />
<br />
[ mingo: Use scoped_guard() as suggested by Peter ]
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.81 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.18 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.13.6 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.14:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.14:rc4:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



