Live › vulnerability › CVE-2026-99159
Go to dashboardOn a persistent ring buffer, the kernel computes one sub-buffer index too high, leaving a NULL pointer that is dereferenced when userspace maps trace_pipe_raw. The sources describe a crash on that mapping and loss of the previous boot's trace data, and do not describe code execution.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-28 11:32 UTC. All times on this page are UTC.
Systems that use the kernel persistent ring buffer (tracing with a reserved memory region that survives reboot) and map trace_pipe_raw from userspace. Systems not using persistent ring buffer tracing are unlikely to be affected. unknown for fixed-version specifics.
No product ranges from the sources yet.
Each row is the first time that source carried this signal. The analyst’s rows are its own findings.
In the Linux kernel, the following vulnerability has been resolved:
ring-buffer: Fix the sub-buffer array base in rb_meta_subbuf_idx()
On a persistent ring buffer, rb_meta_subbuf_idx() can return an index one sub-buffer too high. rb_setup_ids_meta_page() then fills subbuf_ids[] shifted by one and leaves subbuf_ids[0] NULL, which __rb_map_vma() dereferences when userspace maps trace_pipe_raw. rb_update_meta_reader() writes two such indices into meta->buffers[], which rb_cpu_meta_valid() would reject on the next boot, discarding the previous boot's trace.
A CPU's sub-buffer array starts after its meta header and the nr_subbufs integers that follow, aligned up to a sub-buffer. rb_meta_subbuf_idx() inverts that calculation but skips only the integers, not the header, so its base is one sub-buffer low whenever the omitted header size crosses the alignment boundary.
Invert the calculation with rb_subbufs_from_meta() rather than repeating it. rb_range_buffer() maps an index back to an address through the same helper, so the two directions can no longer disagree.
This page as .md · .json · in your agent: get_signal("CVE-2026-99159")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.