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

tracing: Fix trace_marker copy link list updates

When the "copy_trace_marker" option is enabled for an instance, anything
written into /sys/kernel/tracing/trace_marker is also copied into that
instances buffer. When the option is set, that instance's trace_array
descriptor is added to the marker_copies link list. This list is protected
by RCU, as all iterations uses an RCU protected list traversal.

When the instance is deleted, all the flags that were enabled are cleared.
This also clears the copy_trace_marker flag and removes the trace_array
descriptor from the list.

The issue is after the flags are called, a direct call to
update_marker_trace() is performed to clear the flag. This function
returns true if the state of the flag changed and false otherwise. If it
returns true here, synchronize_rcu() is called to make sure all readers
see that its removed from the list.

But since the flag was already cleared, the state does not change and the
synchronization is never called, leaving a possible UAF bug.

Move the clearing of all flags below the updating of the copy_trace_marker
option which then makes sure the synchronization is performed.

Also use the flag for checking the state in update_marker_trace() instead
of looking at if the list is empty.
Published: 2026-04-24
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Use‑After‑Free leading to memory corruption in the Linux kernel
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is a classic use‑after‑free in the Linux kernel’s trace_marker copy mechanism. When the copy_trace_marker option is enabled, data written to /sys/kernel/tracing/trace_marker is copied to an instance’s buffer and the instance’s descriptor is added to a list protected by RCU. During instance deletion, the flag that enables copying is cleared before the list is atomically removed, so the required RCU synchronization is omitted. This allows a reader to access freed memory, potentially corrupting the kernel or providing a foothold for arbitrary code execution. The flaw is consistent with CWE‑416 and CWE‑825, representing a critical kernel memory corruption risk.

Affected Systems

The issue appears in any Linux kernel that includes the trace_marker copy feature before the fix; it is vendor‑agnostic and applies to all releases that contain the unpatched implementation. No specific affected versions are listed in the data, so any kernel compiled with the copy_trace_marker option enabled is at risk.

Risk and Exploitability

The EPSS score is below 1% and the vulnerability is not listed in CISA’s KEV catalog, indicating low observed exploitation probability to date. However, kernel use‑after‑free bugs typically carry a high impact rating and can be leveraged by an attacker with local privileges to crash the system or execute code with kernel privileges. The CVSS score is 7.8, reflecting a high severity evaluation. Attackers would need to enable or trigger the trace_marker write path while the copy option is active, which generally requires root or CAP_SYS_ADMIN privileges.

Generated by OpenCVE AI on April 28, 2026 at 23:46 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update to a kernel version that includes the commit which removes the RCU synchronization bug
  • If an upgrade is not immediately possible, disable the copy_trace_marker feature by ensuring the "copy_trace_marker" option is turned off in kernel configuration or by writing a null value to the relevant sysfs entry before use
  • Refrain from writing to /sys/kernel/tracing/trace_marker on unpatched systems until the kernel is upgraded

Generated by OpenCVE AI on April 28, 2026 at 23:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 28 Apr 2026 19:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416
CPEs cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 25 Apr 2026 00:15:00 +0000


Fri, 24 Apr 2026 15:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: tracing: Fix trace_marker copy link list updates When the "copy_trace_marker" option is enabled for an instance, anything written into /sys/kernel/tracing/trace_marker is also copied into that instances buffer. When the option is set, that instance's trace_array descriptor is added to the marker_copies link list. This list is protected by RCU, as all iterations uses an RCU protected list traversal. When the instance is deleted, all the flags that were enabled are cleared. This also clears the copy_trace_marker flag and removes the trace_array descriptor from the list. The issue is after the flags are called, a direct call to update_marker_trace() is performed to clear the flag. This function returns true if the state of the flag changed and false otherwise. If it returns true here, synchronize_rcu() is called to make sure all readers see that its removed from the list. But since the flag was already cleared, the state does not change and the synchronization is never called, leaving a possible UAF bug. Move the clearing of all flags below the updating of the copy_trace_marker option which then makes sure the synchronization is performed. Also use the flag for checking the state in update_marker_trace() instead of looking at if the list is empty.
Title tracing: Fix trace_marker copy link list updates
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-05-11T22:10:46.355Z

Reserved: 2026-03-09T15:48:24.114Z

Link: CVE-2026-31541

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2026-04-24T15:16:28.117

Modified: 2026-04-28T18:50:29.970

Link: CVE-2026-31541

cve-icon Redhat

Severity :

Publid Date: 2026-04-24T00:00:00Z

Links: CVE-2026-31541 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-04-29T00:00:13Z

Weaknesses