perf/core: Fix refcount bug and potential UAF in perf_mmap
CVE-2026-23248 is fixed in 36 products on 1 platform, first by DEBIAN-CVE-2026-23248, released March 18, 2026. It is not reported as exploited. Patch Radar priority: High.
In the Linux kernel, the following vulnerability has been resolved: perf/core: Fix refcount bug and potential UAF in perf_mmap Syzkaller reported a refcount_t: addition on 0; use-after-free warning in perf_mmap. The issue is caused by a race condition between a failing mmap() setup and a concurrent mmap() on a dependent event (e.g., using output redirection). In perf_mmap(), the ring_buffer (rb) is allocated and assigned to event->rb with the mmap_mutex held. The mutex is then released to perform map_range(). If map_range() fails, perf_mmap_close() is called to clean up. However, since the mutex was dropped, another thread attaching to this event (via inherited events or output redirection) can acquire the mutex, observe the valid event->rb pointer, and attempt to increment its reference count. If the cleanup path has already dropped the reference count to zero, this results in a use-after-free or refcount saturation warning. Fix this by extending the scope of mmap_mutex to cover the map_range() call. This ensures that the ring buffer initialization and mapping (or cleanup on failure) happens atomically effectively, preventing other threads from accessing a half-initialized or dying ring buffer.
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Linux | |||
| bpftool6.18 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| bpftool6.18-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| dtb-aarch64 · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-64kb · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-64kb · sles 16.0 | 6.12.0-160000.36.1 | SUSE-SU-2026:22835-1 | Jul 21, 2026 |
| kernel-azure · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-azure · sles 16.0 | 6.12.0-160000.36.1 | SUSE-SU-2026:22835-1 | Jul 21, 2026 |
| kernel-default · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-default · sles 16.0 | 6.12.0-160000.36.1 | SUSE-SU-2026:22835-1 | Jul 21, 2026 |
| kernel-default-base · opensuse-leap 16.0 | 6.12.0-160000.36.1.160000.2.17 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-default-base · sles 16.0 | 6.12.0-160000.36.1.160000.2.17 | SUSE-SU-2026:22835-1 | Jul 21, 2026 |
| kernel-docs · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-docs · sles 16.0 | 6.12.0-160000.36.1 | SUSE-SU-2026:22835-1 | Jul 21, 2026 |
| kernel-kvmsmall · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-kvmsmall · sles 16.0 | 6.12.0-160000.36.1 | SUSE-SU-2026:22835-1 | Jul 21, 2026 |
| kernel-livepatch-6.18.20-20.229 · amzn 2023 | 1:1.0-0.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel-obs-build · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-obs-qa · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-obs-qa · sles 16.0 | 6.12.0-160000.36.1 | SUSE-SU-2026:22835-1 | Jul 21, 2026 |
| kernel-rt · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-source · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-source · sles 16.0 | 6.12.0-160000.36.1 | SUSE-SU-2026:22835-1 | Jul 21, 2026 |
| kernel-syms · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-syms · sles 16.0 | 6.12.0-160000.36.1 | SUSE-SU-2026:22835-1 | Jul 21, 2026 |
| kernel-zfcpdump · opensuse-leap 16.0 | 6.12.0-160000.36.1 | OPENSUSE-SU-2026:21388-1 | Jul 21, 2026 |
| kernel-zfcpdump · sles 16.0 | 6.12.0-160000.36.1 | SUSE-SU-2026:22835-1 | Jul 21, 2026 |
| kernel6.18 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-debuginfo-common-aarch64 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-debuginfo-common-x86_64 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-devel · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-headers · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-libbpf · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-libbpf-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-libbpf-devel · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-libbpf-static · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-modules-extra · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-modules-extra-common · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-tools · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-tools-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-tools-devel · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| linux · Debian 14 | 6.19.8-1 | DEBIAN-CVE-2026-23248 | Mar 18, 2026 |
| perf6.18 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| perf6.18-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| python3-perf6.18 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| python3-perf6.18-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
Patch Radar data is free to use with attribution. Terms and how to credit it.
Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.