{"id":21669,"date":"2026-09-12T04:31:30","date_gmt":"2026-09-11T20:31:30","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89747"},"modified":"2026-09-12T04:31:30","modified_gmt":"2026-09-11T20:31:30","slug":"cve-2026-89747","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89747","title":{"rendered":"CVE-2026-89747 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Fix use-afte"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>tracing: Fix use-after-free in trace_pipe read on sub-buffer order change<\/p>\n<p>Writing to buffer_subbuf_size_kb calls ring_buffer_subbuf_order_set(),<br \/>\nwhich frees every sub-buffer of the ring buffer, including the reader<br \/>\npage, and replaces them with newly allocated ones.<\/p>\n<p>Readers of trace_pipe hold pointers into those pages. ring_buffer_peek()<br \/>\nlooks up an event under cpu_buffer-&gt;reader_lock but returns the event<br \/>\npointer after dropping the lock, and peek_next_entry() then calls<br \/>\nring_buffer_event_length() and ring_buffer_event_data() on it. If the<br \/>\nsub-buffer order is changed in that window, the reader dereferences<br \/>\nfreed memory:<\/p>\n<p>  BUG: KASAN: use-after-free in ring_buffer_peek+0x3e0\/0x430<br \/>\n  Read of size 1 at addr ffff88802a4cf010 by task syz-executor989\/6002<\/p>\n<p>  Freed by:<br \/>\n   free_buffer_page kernel\/trace\/ring_buffer.c:398 [inline]<br \/>\n   ring_buffer_subbuf_order_set+0x1325\/0x18e0 kernel\/trace\/ring_buffer.c:7444<br \/>\n   buffer_subbuf_size_write+0x182\/0x280 kernel\/trace\/trace.c:8221<\/p>\n<p>Take trace_access_lock(RING_BUFFER_ALL_CPUS) around the order change.<br \/>\nThis is the lock trace_pipe readers already hold across their entire<br \/>\npeek-and-print loop, so the swap can no longer race with a reader that<br \/>\nis dereferencing a peeked event.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>tracing: Fix use-after-free in trace_pipe read on sub-buffer order change<\/p>\n<p>Writing to buffer_subbuf_size_kb calls ring_buffer_subbu<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21669","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}