{"id":"CVE-2025-21889","title":"In the Linux kernel, the following vulnerability has been resolved:\n\nperf/core: Add RCU read lock protection to perf_iterate_ctx()\n\nThe perf_iterate_ctx() function performs RCU list traversal but\ncurrently lacks RCU read lock protection.…","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nperf/core: Add RCU read lock protection to perf_iterate_ctx()\n\nThe perf_iterate_ctx() function performs RCU list traversal but\ncurrently lacks RCU read lock protection.…","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","vendor":"linux","product":"linux_kernel","affected":["linux_kernel >= 6.2, < 6.6.81","linux_kernel >= 6.7, < 6.12.18","linux_kernel >= 6.13, < 6.13.6","linux_kernel = 6.14"],"patched":["linux_kernel 6.13.6"],"published":"2025-03-27","updated":"2026-07-30","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2025-21889","references":[{"url":"https://git.kernel.org/stable/c/0fe8813baf4b2e865d3b2c735ce1a15b86002c74","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/a2475ccad6120546ea45dbcd6cd1f74dc565ef6b","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/dd536566dda9a551fc2a2acfab5313a5bb13ed02","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/f390c2eea571945f357a2d3b9fcb1c015767132e","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-21889.json"},{"url":"https://access.redhat.com/security/cve/CVE-2025-21889"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2355402"},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-21889"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-21889"},{"url":"https://lore.kernel.org/linux-cve-announce/2025032714-CVE-2025-21889-0913@gregkh/T"}],"tags":["nvd","csaf","vex","red-hat","score-dispute"],"epss":0.00199,"epssPercentile":0.09987,"ingestedAt":"2026-07-30T06:53:10.755Z","cwe":["CWE-413"],"scores":{"nvd":7.8,"vendor":3.3},"slug":"CVE-2025-21889","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nperf/core: Add RCU read lock protection to perf_iterate_ctx()\n\nThe perf_iterate_ctx() function performs RCU list traversal but\ncurrently lacks RCU read lock protection. This causes lockdep warnings\nwhen running perf probe with unshare(1) under CONFIG_PROVE_RCU_LIST=y:\n\n\tWARNING: suspicious RCU usage\n\tkernel/events/core.c:8168 RCU-list traversed in non-reader section!!\n\n\t Call Trace:\n\t  lockdep_rcu_suspicious\n\t  ? perf_event_addr_filters_apply\n\t  perf_iterate_ctx\n\t  perf_event_exec\n\t  begin_new_exec\n\t  ? load_elf_phdrs\n\t  load_elf_binary\n\t  ? lock_acquire\n\t  ? find_held_lock\n\t  ? bprm_execve\n\t  bprm_execve\n\t  do_execveat_common.isra.0\n\t  __x64_sys_execve\n\t  do_syscall_64\n\t  entry_SYSCALL_64_after_hwframe\n\nThis protection was previously present but was removed in commit\nbd2756811766 (\"perf: Rewrite core context handling\"). Add back the\nnecessary rcu_read_lock()/rcu_read_unlock() pair around\nperf_iterate_ctx() call in perf_event_exec().\n\n[ mingo: Use scoped_guard() as suggested by Peter ]\n\n## Affected\n\n- `linux_kernel >= 6.2, < 6.6.81`\n- `linux_kernel >= 6.7, < 6.12.18`\n- `linux_kernel >= 6.13, < 6.13.6`\n- `linux_kernel = 6.14`\n\n## Remediation\n\nUpgrade past the affected range:\n\n- `linux_kernel 6.13.6`\n\n## Vendor advisories\n\n- **Red Hat VEX** · Low · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 9 · no fix planned: Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9 · updated 2026-09-13 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-21889.json)","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}