CVE-2023-54211: tracing: Fix warning in trace_buffered_event_disable()
In the Linux kernel, the following vulnerability has been resolved:
tracing: Fix warning in trace_buffered_event_disable()
Warning happened in trace_buffered_event_disable() at
WARN_ON_ONCE(!trace_buffered_event_ref)
Call Trace:
? __warn+0xa5/0x1b0
? trace_buffered_event_disable+0x189/0x1b0
__ftrace_event_enable_disable+0x19e/0x3e0
free_probe_data+0x3b/0xa0
unregister_ftrace_function_probe_func+0x6b8/0x800
event_enable_func+0x2f0/0x3d0
ftrace_process_regex.isra.0+0x12d/0x1b0
ftrace_filter_write+0xe6/0x140
vfs_write+0x1c9/0x6f0
[...]
The cause of the warning is in __ftrace_event_enable_disable(),
trace_buffered_event_enable() was called once while
trace_buffered_event_disable() was called twice.
Reproduction script show as below, for analysis, see the comments:
```
#!/bin/bash
cd /sys/kernel/tracing/
# 1. Register a 'disable_event' command, then:
# 1) SOFT_DISABLED_BIT was set;
# 2) trace_buffered_event_enable() was called first time;
echo 'cmdline_proc_show:disable_event:initcall:initcall_finish' > \
set_ftrace_filter
# 2. Enable the event registered, then:
# 1) SOFT_DISABLED_BIT was cleared;
# 2) trace_buffered_event_disable() was called first time;
echo 1 > events/initcall/initcall_finish/enable
# 3. Try to call into cmdline_proc_show(), then SOFT_DISABLED_BIT was
# set again!!!
cat /proc/cmdline
# 4. Unregister the 'disable_event' command, then:
# 1) SOFT_DISABLED_BIT was cleared again;
# 2) trace_buffered_event_disable() was called second time!!!
echo '!cmdline_proc_show:disable_event:initcall:initcall_finish' > \
set_ftrace_filter
```
To fix it, IIUC, we can change to call trace_buffered_event_enable() at
fist time soft-mode enabled, and call trace_buffered_event_disable() at
last time soft-mode disabled.
Security readout for executives and security teams
Plain-English summary
This CVE concerns a Linux kernel tracing bug that can trigger a kernel warning when tracing event state is enabled and disabled out of balance. The provided sources do not establish data theft, privilege escalation, remote access, or active exploitation. Treat it as a kernel maintenance issue unless your environment exposes tracing controls to less-trusted users.
Executive priority
Handle through normal kernel patch governance. Escalate only if affected systems expose tracing controls to non-administrative users or if vendor advisories assign higher severity.
Technical view
The flaw is in Linux kernel tracing, specifically trace_buffered_event_disable(). A sequence involving ftrace disable_event handling can call trace_buffered_event_enable() once but trace_buffered_event_disable() twice, hitting WARN_ON_ONCE(!trace_buffered_event_ref). Stable kernel commits are referenced as fixes across affected kernel lines.
Likely exposure
Likely exposure is limited to affected Linux kernels where users or processes can manipulate tracing interfaces such as /sys/kernel/tracing. The source lists affected Linux versions including 4.7 through 6.5-era stable lines, but does not define distributions, configurations, or required privileges.
Exploitation context
The source provides a local reproduction path through kernel tracing controls. KEV is false, and the bundle provides no evidence of active exploitation, weaponized public exploit activity, remote exploitability, or business-impacting compromise.
Researcher notes
The evidence describes a refcount/state-management flaw causing a warning, not a proven confidentiality, integrity, or availability impact. The included reproduction is diagnostic and local. Impact, privilege requirements, and distro-specific fixed versions remain incomplete in the provided sources.
Mitigation direction
Apply vendor kernel updates containing the referenced stable Linux fixes.
Prioritize systems where tracing interfaces are accessible beyond trusted administrators.
Review distribution advisories for exact fixed package versions.
Limit tracing interface access according to existing hardening policy.
Validation and detection
Inventory Linux kernel versions across servers, appliances, and containers hosts.
Check whether kernels include one of the referenced stable fix commits.
Review access controls for /sys/kernel/tracing on affected systems.
Monitor kernel logs for related tracing WARN_ON messages.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2023-54211 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
9Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Dec 30, 2025, 12:11 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.