CVE Catalog

CVE-2026-99237

HighCVSS 7.8
Published: Translated: NVD NIST

Summary

A double-free/use-after-free in the Linux kernel tracing subsystem: 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.

Risk Assessment

A local attacker could trigger a kernel double-free or use-after-free, potentially causing a system crash or privilege escalation. Exploitation requires access to tracing files and the ability to manipulate modules.

Recommendation

Update the Linux kernel to a version containing the fix. Restrict access to tracing files and module operations to trusted users.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS