Description
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.
Published: 2026-10-28
Score: n/a
EPSS: n/a
KEV: No
Impact: Kernel Crash / System Denial of Service
Action: Apply Patch
AI Analysis

Impact

The Linux kernel contains a flaw in the calculation of sub-buffer array indices for persistent ring buffers. The function responsible for determining the index of a sub-buffer can return a value one too high. This in turn causes the initialization routine to write identifiers shifted by one position, leaving the first entry null. When a userspace process maps the trace_pipe_raw channel, the kernel attempts to dereference this null entry, leading to a potential memory fault. The injected miscalculations can also corrupt internal metadata, causing future boots to discard previous trace data and potentially triggering additional kernel crashes. Ultimately, the vulnerability enables a local user to cause a kernel panic or data corruption, leading to denial of service and loss of trace information.

Affected Systems

The issue affects all Linux kernel builds previously released before the patch. The recommended fix is to update to a kernel version that contains the corrected rb_meta_subbuf_idx and related routines. This applies to mainstream distributions and custom installations that use the upstream kernel source.

Risk and Exploitability

The vulnerability lacks an EPSS score and is not listed in the CISA KEV catalog, but its nature—an unchecked array index leading to a null dereference in kernel space—implies a moderate to high severity. Exploitation requires local access to a system with persistent ring buffers enabled; the attacker must trigger a trace_pipe_raw mapping to cause the crash. While no publicly demonstrated exploits exist, the mechanics are straightforward for an attacker with privileged read access to kernel memory and the ability to invoke the trace subsystem. Given the potential for a kernel panic, the risk is significant for systems where uptime and trace data integrity are critical.

Generated by OpenCVE AI on October 28, 2026 at 12:38 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update to the latest stable Linux kernel release that includes the rb_meta_subbuf_idx fix or apply the relevant commit(s) from the official repository to your kernel source and rebuild.
  • Verify that persistent ring buffers are properly configured and that trace_pipe_raw mappings are only performed by trusted processes to reduce the window of exploitation.
  • Reboot the system after applying the patch or the rebuilt kernel to ensure stale trace metadata is discarded and the fixed logic takes effect.

Generated by OpenCVE AI on October 28, 2026 at 12:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 13:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-129
CWE-476

Wed, 28 Oct 2026 10:45:00 +0000

Type Values Removed Values Added
Description 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.
Title ring-buffer: Fix the sub-buffer array base in rb_meta_subbuf_idx()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-28T10:35:12.520Z

Reserved: 2026-09-25T10:25:14.397Z

Link: CVE-2026-99159

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T11:17:36.160

Modified: 2026-10-28T11:17:36.160

Link: CVE-2026-99159

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T12:45:16Z

Weaknesses
  • CWE-129

    Improper Validation of Array Index

  • CWE-476

    NULL Pointer Dereference