CVE-2025-38539
kernel: tracing: Add down_write(trace_event_sem) when adding trace event
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · August 16, 2025
Updated · July 30, 2026
Description
In the Linux kernel, the following vulnerability has been resolved:
tracing: Add down_write(trace_event_sem) when adding trace event
When a module is loaded, it adds trace events defined by the module. It may also need to modify the modules trace printk formats to replace enum names with their values.
If two modules are loaded at the same time, the adding of the event to the ftrace_events list can corrupt the walking of the list in the code that is modifying the printk format strings and crash the kernel.
The addition of the event should take the trace_event_sem for write while it adds the new event.
Also add a lockdep_assert_held() on that semaphore in __trace_add_event_dirs() as it iterates the list.
Statement
This vulnerability arises from a race condition in the kernel tracing subsystem where trace events could be added to the global ftrace_events list without proper synchronization, leading to potential list corruption and kernel crashes. The issue is mitigated by introducing a write lock (trace_event_sem) during event registration and adding lock assertions for safety.
Exploitation requires the ability to load kernel modules, which is a highly privileged operation (root with CAP_SYS_MODULE), so the privilege requirement is rated High (PR:H).
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
No mitigation is specified in collected source.
CVSS / CWE
CVSS 3.1 · 4.4CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')