Skip to main content

Linux CVE-2026-23248

| EUVDEUVD-2026-12811 HIGH
Use After Free (CWE-416)
2026-03-18 Linux
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Initiate perf mmap with output redirection
  2. Delivery
    Trigger map_range failure during setup
  3. Exploit
    Race condition in rb refcount handling
  4. Execution
    Use-after-free in concurrent mmap
  5. Impact
    Execute arbitrary kernel code

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires local user access to a Linux system running an affected kernel version. Attacker must trigger a race condition between failing mmap() setup and concurrent mmap() on dependent perf events with output redirection. No user interaction needed.

Impact

While CVSS and EPSS scores are not provided, this vulnerability presents moderate-to-high real-world risk. The attack vector is local (requires execution on the target system), but the attack complexity is low—an unprivileged user can trigger the race condition through concurrent mmap() calls on dependent events (inherited events or output redirection). The technical impact is denial of service via kernel crash or hung processes; kernel exploitation for privilege escalation is theoretically possible but not the primary impact. KEV status is unknown, and no public proof-of-concept code is confirmed available beyond Syzkaller reports, reducing immediate exploitation risk. However, the vulnerability was discovered via automated fuzzing (Syzkaller), indicating reproducibility. The presence of patches across three kernel versions (6.18.17, 6.19.7, 7.0-rc2) and three specific commit hashes suggests this was actively tracked and prioritized by Linux maintainers. From an SSVC perspective: exploitation is not currently known to be in the wild, but the attack is automatable (fuzzing demonstrated this), and technical impact is limited to denial of service rather than full system compromise. Real-world risk is highest for systems running unpatched kernels in multi-user or container environments where local attackers have process execution capability.

Exploit ScenarioDerived

A local attacker on a multi-user system or container host creates two threads: the first thread initiates mmap() on a performance event, triggering ring buffer allocation and map_range(). Meanwhile, a second thread creates a child process that inherits the event or attaches to it via output redirection, attempting to increment the ring buffer's refcount. If the first thread's map_range() fails (due to memory pressure or resource limits), the cleanup path decrements the refcount to zero precisely when the second thread attempts to increment it, causing a refcount_t saturation warning and potential kernel panic or hung process. This can be triggered repeatedly via fuzzing or orchestrated via performance monitoring APIs (perf_event_open syscall) to cause sustained denial of service affecting the entire system's stability.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 18, 2026

A race condition in the Linux kernel's perf_mmap() function creates a use-after-free vulnerability when concurrent threads attempt to access a ring buffer during failed memory mapping operations. The vulnerability affects Linux kernel versions across 6.18.17, 6.19.7, and 7.0-rc2, allowing a local attacker with standard user privileges to trigger refcount saturation warnings and potential kernel crashes via denial of service. This issue was discovered by Syzkaller fuzzing and has patches available across multiple stable kernel branches.

RemediationAI

Apply the Linux kernel security patch immediately by upgrading to patched versions: Linux 6.18.17 or later, 6.19.7 or later, or 7.0-rc2 or later. Consult your distribution's security advisory for specific package versions and apply via standard package management (apt, yum, dnf, zypper, etc.). For systems unable to patch immediately, reduce risk by restricting local user access and limiting process isolation scope (disable unprivileged namespaces if not required). Implement resource quotas to prevent rapid exploitation attempts that could cause cascading system failures. Monitor kernel logs for refcount_t warnings or perf subsystem errors (dmesg | grep -i 'refcount\|perf'). Prioritize patching for multi-user systems, container hosts, and cloud infrastructure where local user interaction is expected. See kernel commit fixes at https://git.kernel.org/stable/c/c27dea9f50ed525facb62ef647dddc4722456e07, https://git.kernel.org/stable/c/ac7ecb65af170a7fc193e7bd8be15dac84ec6a56, and https://git.kernel.org/stable/c/77de62ad3de3967818c3dbe656b7336ebee461d2.

Affected VersionsENISA

Linux patch: 6.19.7
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <ac7ecb65af170a7fc193e7bd8be15dac84ec6a56
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <77de62ad3de3967818c3dbe656b7336ebee461d2
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <c27dea9f50ed525facb62ef647dddc4722456e07
Linux patch: 7.0-rc2
Linux patch: 6.18.17

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in the perf (performance monitoring) subsystem of the Linux kernel, specifically in the perf_mmap() function which manages ring buffer creation for performance event monitoring. The perf subsystem (cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*) is a core kernel component responsible for collecting hardware and software performance counters. The root cause is classified as a race condition (CWE-362) combined with use-after-free (CWE-416) and refcount management failure. The vulnerability stems from improper mutex locking scope: the mmap_mutex protecting the ring buffer allocation (event->rb) is released before calling map_range(), creating a window where concurrent threads can observe a valid event->rb pointer and attempt to increment its refcount. If the original thread's cleanup path (perf_mmap_close) has already decremented the refcount to zero, subsequent refcount increment attempts trigger use-after-free or refcount_t saturation warnings in the kernel. The fix extends mmap_mutex scope to cover map_range() atomically, preventing other threads from accessing the half-initialized ring buffer.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
SUSE HIGH
Red Hat 5.5 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
CVE Published
Mar 18, 2026 - 10:05 nvd
HIGH 7.8

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.0%
Top 96% exploitable
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

Debian

linux
Release Status Fixed Version Urgency
bullseye not-affected - -
bullseye (security) fixed 5.10.251-1 -
bookworm not-affected - -
bookworm (security) fixed 6.1.164-1 -
trixie not-affected - -
trixie (security) fixed 6.12.74-2 -
forky vulnerable 6.19.6-2 -
sid fixed 6.19.8-1 -
(unstable) fixed 6.19.8-1 -

SUSE

Severity: High
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy