CVE-2026-89747
Received Received - Intake

Use-After-Free in Linux Kernel trace_pipe Read Operation

Vulnerability report for CVE-2026-89747, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-11

Last updated on: 2026-09-13

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: tracing: Fix use-after-free in trace_pipe read on sub-buffer order change Writing to buffer_subbuf_size_kb calls ring_buffer_subbuf_order_set(), which frees every sub-buffer of the ring buffer, including the reader page, and replaces them with newly allocated ones. Readers of trace_pipe hold pointers into those pages. ring_buffer_peek() looks up an event under cpu_buffer->reader_lock but returns the event pointer after dropping the lock, and peek_next_entry() then calls ring_buffer_event_length() and ring_buffer_event_data() on it. If the sub-buffer order is changed in that window, the reader dereferences freed memory: BUG: KASAN: use-after-free in ring_buffer_peek+0x3e0/0x430 Read of size 1 at addr ffff88802a4cf010 by task syz-executor989/6002 Freed by: free_buffer_page kernel/trace/ring_buffer.c:398 [inline] ring_buffer_subbuf_order_set+0x1325/0x18e0 kernel/trace/ring_buffer.c:7444 buffer_subbuf_size_write+0x182/0x280 kernel/trace/trace.c:8221 Take trace_access_lock(RING_BUFFER_ALL_CPUS) around the order change. This is the lock trace_pipe readers already hold across their entire peek-and-print loop, so the swap can no longer race with a reader that is dereferencing a peeked event.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-11
Last Modified
2026-09-13
Generated
2026-10-02
AI Q&A
2026-09-12
EPSS Evaluated
2026-10-01
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a use-after-free vulnerability in the Linux kernel's tracing subsystem. It occurs when writing to buffer_subbuf_size_kb triggers a reallocation of ring buffer pages while a reader is accessing trace_pipe. The reader may hold pointers to memory that gets freed, leading to a kernel bug check (KASAN error) when it tries to access that memory.

Detection Guidance

This vulnerability is specific to the Linux kernel's tracing subsystem and may not have direct network detection methods. Monitor kernel logs for KASAN errors indicating use-after-free in ring_buffer_peek. Check for crashes or hangs in processes using trace_pipe. Use commands like dmesg | grep -i kasan or journalctl -k | grep -i use-after-free to detect related errors.

Impact Analysis

This vulnerability could cause system instability or crashes if exploited. It may allow local attackers to trigger kernel memory corruption, potentially leading to denial-of-service conditions or privilege escalation. Systems relying on kernel tracing features are most at risk.

Compliance Impact

This vulnerability is a use-after-free flaw in the Linux kernel's tracing subsystem. It does not directly relate to data protection or privacy compliance standards like GDPR or HIPAA, as it primarily affects system stability and memory safety rather than data handling or access control mechanisms.

Mitigation Strategies

Apply the latest Linux kernel patches that address this issue. If immediate patching is not possible, avoid using tracing features that interact with trace_pipe or buffer_subbuf_size_kb. Monitor system stability and kernel logs for signs of exploitation or crashes.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-89747. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart