In the Linux kernel, the following vulnerability has been resolved:
perf: Fix refcount warning on event->mmap_count increment
When calling refcountinc(&event->mmapcount) inside perfmmaprb(), the following warning is triggered:
refcount_t: addition on 0; use-after-free.
WARNING: lib/refcount.c:25
PoC:
struct perf_event_attr attr = {0};
int fd = syscall(__NR_perf_event_open, &attr, 0, -1, -1, 0);
mmap(NULL, 0x3000, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
int victim = syscall(__NR_perf_event_open, &attr, 0, -1, fd,
PERF_FLAG_FD_OUTPUT);
mmap(NULL, 0x3000, PROT_READ | PROT_WRITE, MAP_SHARED, victim, 0);
This occurs when creating a group member event with the flag PERFFLAGFD_OUTPUT. The group leader should be mmap-ed and then mmap-ing the event triggers the warning.
Since the event has copied the outputevent in perfeventsetoutput(), event->rb is set. As a result, perfmmaprb() calls refcountinc(&event->mmapcount) when event->mmap_count = 0.
Disallow the case when event->mmapcount = 0. This also prevents two events from updating the same userpage.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23127.json",
"cna_assigner": "Linux"
}