CVE-2026-23248 Details
Description
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.
A use-after-free vulnerability has been identified in the Linux kernel's perf subsystem, specifically within the perf_mmap() function. This issue arises from a race condition between a failing memory mapping setup and a simultaneous mapping operation on a related event, such as one using output redirection. When the mapping process fails, the cleanup function perf_mmap_close() is called. However, this can create a window where another thread might access a partially initialized or about-to-be-freed ring buffer, leading to a use-after-free condition. The vulnerability has been addressed by modifying the mutex handling to ensure that the ring buffer setup and mapping operations are completed atomically, preventing concurrent threads from interfering with the process.
Users can upgrade to the latest version of the Linux kernel where this vulnerability has been fixed. Instructions for downloading the patched version are available on the Linux kernel official website.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/77de62ad3de3967818c3dbe656b7336ebee461d2 | kernel.org | Patch |
| https://git.kernel.org/stable/c/ac7ecb65af170a7fc193e7bd8be15dac84ec6a56 | kernel.org | Patch |
| https://git.kernel.org/stable/c/c27dea9f50ed525facb62ef647dddc4722456e07 | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-416 | Use After Free | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 6.14, < 6.18.17 >= 6.19, < 6.19.7 7.0 rc1 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | kernel.org |
| May 21, 2026 | Initial Analysis | [email protected] |
| Apr 2, 2026 | CVE Modified | kernel.org |
| Mar 18, 2026 | New CVE Received | kernel.org |