CVE Catalog

CVE-2026-98552

Low risk· EPSS 9%
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.20%

9th percentile - higher than 9% of all known CVEs

Summary

In the Linux kernel, attach_perf_ctx_data() can race between global and !global cases, missing the global field assignment and leaking a reference count. Consequently, a later detach_global_ctx_data() sees the data but does not mark it as global, so it does not call detach_task_ctx_data(). The fix eliminates the race and reference leak.

Risk Assessment

A reference count leak can cause memory leaks and prevent perf context release, potentially destabilizing the system. Affects systems using perf with task and global contexts.

Recommendation

Update the Linux kernel to a version containing the perf/core fix. Monitor memory usage on perf-intensive systems.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: perf/core: Fix a refcount leak in attach_perf_ctx_data() The attach_perf_ctx_data() can race on global and !global cases. The global case is protected by global_ctx_data_rwsem and shares a single reference count using perf_ctx_data.global field. But when it races with !global case, it may miss to set the global field and result in a reference count leak. CPU1 CPU2 ---------------------------------------------------------------- attach_task_ctx_data(.global=1) attach_task_ctx_data(.global=0) cd1 = alloc_perf_ctx_data(); cd2 = alloc_perf_ctx_data(); // { .global = 0, .refcount = 1 }; try_cmpxchg(); // success, // task->perf_ctx_data = cd2 try_cmpxhg(); // fail; old = cd2 refcount_inc_not_zero(&old->refcount); // success // old.refcount = 2 free_perf_ctx_data(cd1); Then later detach_global_ctx_data() will see the data but it's not marked as global, so it won't call detach_task_ctx_data().

Vulnerability data from NVD (NIST) · CISA KEV · EPSS