{"id":"CVE-2026-89747","summary":"tracing: Fix use-after-free in trace_pipe read on sub-buffer order change","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Fix use-after-free in trace_pipe read on sub-buffer order change\n\nWriting to buffer_subbuf_size_kb calls ring_buffer_subbuf_order_set(),\nwhich frees every sub-buffer of the ring buffer, including the reader\npage, and replaces them with newly allocated ones.\n\nReaders of trace_pipe hold pointers into those pages. ring_buffer_peek()\nlooks up an event under cpu_buffer-\u003ereader_lock but returns the event\npointer after dropping the lock, and peek_next_entry() then calls\nring_buffer_event_length() and ring_buffer_event_data() on it. If the\nsub-buffer order is changed in that window, the reader dereferences\nfreed memory:\n\n  BUG: KASAN: use-after-free in ring_buffer_peek+0x3e0/0x430\n  Read of size 1 at addr ffff88802a4cf010 by task syz-executor989/6002\n\n  Freed by:\n   free_buffer_page kernel/trace/ring_buffer.c:398 [inline]\n   ring_buffer_subbuf_order_set+0x1325/0x18e0 kernel/trace/ring_buffer.c:7444\n   buffer_subbuf_size_write+0x182/0x280 kernel/trace/trace.c:8221\n\nTake trace_access_lock(RING_BUFFER_ALL_CPUS) around the order change.\nThis is the lock trace_pipe readers already hold across their entire\npeek-and-print loop, so the swap can no longer race with a reader that\nis dereferencing a peeked event.","modified":"2026-09-14T03:46:32.204029980Z","published":"2026-09-11T19:46:52.268Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89747.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/05ebe1e1d7d38c2612bacfefe043a33572ae34cb"},{"type":"WEB","url":"https://git.kernel.org/stable/c/372f8534244d632ad5118e8a87a11291b01712d3"},{"type":"WEB","url":"https://git.kernel.org/stable/c/7a49d19ff9baaf61217e5ec14199c18bc2d93ee4"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ddbe921ed16a0ad2d9e09574c3f3aabec7528325"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89747.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89747"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"f9b94daa542a8d2532f0930f01cd9aec2d19621b"},{"fixed":"05ebe1e1d7d38c2612bacfefe043a33572ae34cb"},{"fixed":"ddbe921ed16a0ad2d9e09574c3f3aabec7528325"},{"fixed":"7a49d19ff9baaf61217e5ec14199c18bc2d93ee4"},{"fixed":"372f8534244d632ad5118e8a87a11291b01712d3"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89747.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.8.0"},{"fixed":"6.12.109"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.50"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.4"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89747.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}