Skip to main content

Linux Kernel CVE-2026-72071

| EUVDEUVD-2026-59029 HIGH
2026-08-15 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-c3qx-9jfj-8c4p
7.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

Race condition requires precise concurrent thread timing (AC:H); local unprivileged access to user_events_data sets AV:L and PR:L; full kernel heap corruption yields C:H/I:H/A:H.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
4.7 MEDIUM
AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.5 MEDIUM
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

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

Lifecycle Timeline

5
Analysis Generated
Aug 17, 2026 - 06:40 vuln.today
CVSS changed
Aug 17, 2026 - 06:22 NVD
7.8 (HIGH)
Patch available
Aug 15, 2026 - 07:20 EUVD
CVE Published
Aug 15, 2026 - 06:21 cve.org
HIGH 7.8
CVE Published
Aug 15, 2026 - 06:21 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

tracing/user_events: Fix use-after-free in user_event_mm_dup()

user_event_mm_dup() walks the parent mm's enabler list locklessly under rcu_read_lock() during fork() (from copy_process()); it does not take event_mutex:

rcu_read_lock(); list_for_each_entry_rcu(enabler, &old_mm->enablers, mm_enablers_link) enabler->event = user_event_get(orig->event);

user_event_enabler_destroy() removes an enabler from that list with list_del_rcu() and then, without waiting for a grace period, drops the enabler's user_event reference with user_event_put() and frees the enabler with kfree(). A reader that loaded the enabler before the list_del_rcu() can still be walking it, which leads to two use-after-frees:

  • kfree(enabler) frees the enabler while that reader dereferences

enabler->event.

  • user_event_put() may drop the last reference to the user_event, which

is then freed (via delayed_destroy_user_event() on a work queue), while the same reader does user_event_get(orig->event) on it.

Both are reachable by an unprivileged task that can open user_events_data: one multithreaded process that registers an enabler and then concurrently unregisters it and calls fork() triggers the race. KASAN reports a slab-use-after-free in user_event_mm_dup() during clone(), with a "refcount_t: addition on 0" warning when the user_event is freed.

The enabler use-after-free was found first; the user_event one was reported by XIAO WU, and the earlier enabler-only fix did not address it.

Defer both the user_event_put() and the kfree(enabler) to a work item queued with queue_rcu_work(), so they run only after an RCU grace period, once all readers walking the enabler list have finished. The put must run in process context because user_event_put() takes event_mutex on the last reference, so a work queue is used rather than call_rcu(). The now-unlocked put lets the locked argument of user_event_enabler_destroy() be removed; all callers are updated.

AnalysisAI

Use-after-free race condition in the Linux kernel's tracing/user_events subsystem allows a low-privileged local user to corrupt kernel heap memory during fork(), potentially enabling privilege escalation to root. The race is triggered when a multithreaded process concurrently unregisters a user event enabler while calling fork(), causing user_event_mm_dup() to dereference enabler and user_event structures freed without observing the required RCU grace period. No public exploit code has been identified at time of analysis and this vulnerability is not listed in CISA KEV; however, the low privilege bar and full C/I/A impact make it a meaningful escalation primitive on any multi-user or shared Linux system running an unpatched kernel with CONFIG_USER_EVENTS enabled.

Technical ContextAI

The vulnerability resides in the Linux kernel's tracing/user_events subsystem, which allows unprivileged userspace processes to register custom tracepoints via the user_events_data character device. The root cause is an RCU (Read-Copy-Update) synchronization violation: user_event_mm_dup() walks the parent mm's enabler list under rcu_read_lock() during fork() (copy_process()) without holding event_mutex, while user_event_enabler_destroy() concurrently calls list_del_rcu() to unlink an enabler and then immediately calls kfree(enabler) and user_event_put() without deferring to an RCU grace period. This violates the RCU contract - readers still traversing the list can access the freed enabler or the freed user_event object (freed via delayed_destroy_user_event() on a workqueue). Two distinct UAFs result: one on enabler->event dereference after kfree(enabler), and one on user_event_get(orig->event) after user_event_put() drops the last reference. KASAN confirms both as slab-use-after-free with an accompanying refcount_t: addition on 0 warning. The fix defers both kfree and user_event_put to a queue_rcu_work() item, ensuring execution only after all concurrent RCU readers complete. Affected code traces to the commit introducing the user_events feature (7235759084a4f8524a46bd2638885ff3b34ce279). No CWE is formally assigned in the NVD entry, but the flaw maps to CWE-416 (Use After Free) with a concurrent triggering mechanism.

RemediationAI

The primary fix is to upgrade to a patched Linux kernel: 6.6.148, 6.12.97, 6.18.40, 7.1.5, or 7.2-rc3, as documented in the upstream stable commits at https://git.kernel.org/stable/c/b33ac2d39953efb12f598c0dae242c5f644ea669 and sibling commits for each stable branch. Distribution vendors (RHEL, Ubuntu, Debian, SUSE, etc.) should be monitored for backported kernel packages incorporating these fixes. If an immediate kernel upgrade is not feasible, the most effective compensating control is to restrict access to the user_events_data device file: tighten permissions on /sys/kernel/tracing/user_events_data (e.g., chmod 600 and chown root:root) so only root can open the device, removing the unprivileged access path entirely. Trade-off: this will break any applications that legitimately use the user_events tracing interface, including the .NET runtime's EventPipe tracing on Linux. A second option is to disable CONFIG_USER_EVENTS at kernel build time (requires rebuilding the kernel), which eliminates the subsystem entirely at the cost of user-events-dependent tracing frameworks. Container environments should enforce seccomp profiles blocking ioctl calls on the user_events_data device as a defense-in-depth measure.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

Share

CVE-2026-72071 vulnerability details – vuln.today

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