Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain local access with tracefs read permissions
-
DeliveryOpen boot-mapped last-boot trace buffer from two readers
-
ExploitRace update_last_data_if_empty without trace_types_lock
-
ExecutionDouble-free kernel module_delta
-
ImpactCorrupt kernel heap for privilege escalation or DoS
Vulnerability Assessment
| Exploitation Conditions | Requires local access to the kernel trace filesystem (e.g. /sys/kernel/tracing), which is root/CAP_SYS_ADMIN-restricted by default, and the target must be using the persistent boot-mapped 'last boot' ring buffer feature so that update_last_data_if_empty() and the LAST_BOOT path are reachable. The attacker must drive at least two concurrent readers (tracing_open with O_TRUNC, tracing_read_pipe, or tracing_buffers_read) to both pass the LAST_BOOT check and hit the double-free of module_delta. Limiting factors: local-only (not remotely reachable), dependence on this non-default persistent-tracing configuration, the need to win a narrow race window, and default tracefs permissions that restrict who can open these files. |
| Impact | This is a local kernel-memory-corruption race in the Linux tracing subsystem, not a remotely reachable flaw. The supplied CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, score 7.8) scores it High with full CIA impact, consistent with a kernel double-free that can corrupt heap state. The description explicitly identifies a concurrency trigger: two readers can both pass the LAST_BOOT test and free module_delta twice, and a module notifier can mutate module_delta during the free - this is a classic race/double-free (effectively CWE-415/CWE-362), though the input lists CWE as N/A. I disagree mildly with the input's AC:L: winning a double-free window between two concurrent readers is a timing-dependent race, which argues for AC:H in real-world reliability. No CISA KEV entry, no EPSS score, and no PoC are present in the input - the three references are git.kernel.org stable commits, i.e. the fix itself, not exploit code. The vuln.today 'this_week' label reflects a routine upstream kernel fix cadence, not evidence of active exploitation. Net: a legitimate local privilege-escalation/DoS-class kernel bug worth patching in the normal cycle, but there is no signal of widespread or active exploitation, and exploitation is gated by local access and a niche feature (below). Note also a tag/impact tension: the input tags this 'Information Disclosure', but the described mechanism is memory corruption (double-free), where any info leak would be secondary. |
| Exploit ScenarioDerived | A local user with access to the kernel trace filesystem, on a system using the persistent boot-mapped ('last boot') ring buffer, opens the same last-boot trace data from two threads at once (e.g. tracing_open with O_TRUNC plus a trace_pipe/trace_buffers reader). Both readers pass the LAST_BOOT check and free module_delta twice while a module notifier may update it mid-free, corrupting kernel heap memory for potential privilege escalation or a kernel crash. No public exploit identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
Local kernel memory corruption in the Linux tracing subsystem can result from a race in update_last_data_if_empty(): concurrent readers that reset persistent 'last boot' trace data without trace_types_lock can double-free module_delta, and a module notifier can update the object while it is being freed. Affected are Linux kernel builds using the non-default persistent boot-mapped last-boot ring buffer, with exploitation requiring local access to tracefs (CVSS AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:H; tracefs is commonly root/CAP_SYS_ADMIN-restricted). No public exploit identified at time of analysis, and the supplied decision signal places remediation in the this_week priority band.
RemediationAI
Upstream fix available (commit); released patched version not independently confirmed. Apply the stable commits at https://git.kernel.org/stable/c/92b69f6db640dadc0851762ee2e12db99f083cad, https://git.kernel.org/stable/c/d6d991afe775ab7fcf89523a2502b7ca3be56ffd, and https://git.kernel.org/stable/c/1f06cfe0b60a878619d1d8efe1cd0f515b7dc2aa. Until the kernel is updated, restrict access to tracefs (for example /sys/kernel/tracing) to trusted root/CAP_SYS_ADMIN users, and avoid the persistent boot-mapped 'last boot' tracing configuration; both reduce exposure but have operational trade-offs, since restricting tracefs blocks legitimate tracing/debugging and disabling the feature loses boot-persistent trace data. Also avoid concurrent tracing_open(O_TRUNC), tracing_read_pipe(), and tracing_buffers_read() operations against these files where feasible, recognizing that this is only a compensating control and the upstream trace_types_lock fix is the complete remediation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is in the Linux tracing subsystem's handling of the persistent 'last boot' trace buffer. update_last_data_if_empty() is invoked from tracing_open() with O_TRUNC, tracing_read_pipe(), and tracing_buffers_read() without holding trace_types_lock; two readers can both pass the LAST_BOOT test and free module_delta twice, while a module notifier can update module_delta during the free. The fix takes trace_types_lock in those paths and moves callers that already hold the lock to an unlocked variant. The supplied data assigns no CWE; the root-cause class is a race condition producing a double-free and potential use-after-free in kernel memory. The supplied CVSS base is 7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), while the independent assessment adjusts to AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:H because the race window is narrow and the persistent tracing configuration is non-default. CPE data identifies linux:linux without a version constraint, so affected builds are those containing the vulnerable tracing code and the persistent boot-mapped last-boot feature, rather than a single named release.
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
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Local-only via tracefs (AV:L, PR:L); double-free is a timing race between two readers (AC:H); kernel heap corruption gives high integrity/availability impact (I:H/A:H) with limited info leak (C:L).
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
Lifecycle Timeline
2DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
tracing: Hold trace_types_lock when resetting last boot data from readers
update_last_data_if_empty() is called from tracing_open() with O_TRUNC, tracing_read_pipe() and tracing_buffers_read() without trace_types_lock. Two readers can both pass the LAST_BOOT test and free module_delta twice, and a module notifier can update module_delta while it is being freed.
Take trace_types_lock in those paths and keep the callers that already hold it on an unlocked variant.
Articles & Coverage 1
Executive ViewAI
A local privilege escalation vulnerability (CVE-2026-99237) in Linux kernel tracing code affects environments with the non-default persistent last-boot ring buffer enabled. Only users with root or CAP_SYS_ADMIN privileges can trigger it, meaning the impact is contained unless such privileges are misused, but a successful exploit could compromise high-integrity data and system availability. No public exploit is known at this time, and no vendor patch is available, so leadership should prioritize mitigation and inventory while monitoring for updates.
Restrict tracefs access to root/CAP_SYS_ADMIN only; disable the persistent boot-mapped last-boot ring buffer by removing relevant boot parameters or unmounting tracefs; monitor for unusual tracefs usage; apply kernel hardening to minimize CAP_SYS_ADMIN assignments.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-115279
GHSA-w7jm-33hw-fpp2
NVD
CVE.org
VulDB
Exploit-DB