ZeroHour

CVE-2026-89503

mass

Race condition in Linux kernel ring-buffer reader-page allocation

CVSS 3.1
7.8 high
EPSS
Published
()
Modified
AI analysis

The Linux kernel's tracing ring buffer contains a race condition between ring_buffer_alloc_read_page(), which allocates a page for readers of the trace buffer, and ring_buffer_subbuf_order_set(), which changes the sub-buffer size (order). If the sub-buffer order changes in the middle of a reader-page allocation, the page's recorded order can end up mismatched with the memory actually allocated, so the kernel makes incorrect size assumptions about that page — a condition that can lead to memory corruption. Triggering the flaw requires local access with low privileges and the ability to exercise the ring-buffer interfaces (tracefs tracing reads combined with sub-buffer resizing), so the realistic targets are multi-user servers, container/VM hosts, and any system where untrusted users have local shell access. Successful exploitation is scored with high impact to confidentiality, integrity, and availability (CVSS 3.1: 7.8), meaning memory corruption that plausibly enables local privilege escalation or a system crash. No public proof of concept is known, the CVE is not on CISA's KEV list, and no exploitation in the wild has been reported.

What to do: Apply your distribution's kernel security updates as soon as a build containing this fix ships (the patch makes the reader-page allocation use bpage->order, eliminating the mismatch). Because exploitation requires local access, prioritize multi-user hosts, hypervisors, container hosts, and build/jump servers where untrusted users have shells. As hardening, ensure tracefs (/sys/kernel/tracing) is accessible only to root to limit reachability of the ring-buffer interfaces involved.

Affected
Linux kernelVersions prior to the fixing commit (which allocates the reader page using bpage->order); the source data does not specify exact affected or fixed version numbe
Estimated exposure
mass≈tens of millions of systems (Linux deployments running kernels new enough to include the sub-buffer order interface); realistically attackable hosts are far… — Linux runs on billions of devices worldwide, but the vulnerable code path exists only in kernel releases that include the sub-buffer order resize feature, narrowing the plausibly affected population to roughly the tens-of-millions scale of…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

In the Linux kernel, the following vulnerability has been resolved: ring-buffer: Fix subbuf resize race with ring_buffer_alloc_read_page() ring_buffer_alloc_read_page() is racy with ring_buffer_subbuf_order_set, it can allocate a reader page with an outdated order. This isn't a big issue, the user can still re-allocate a new reader page and try again. However, what is more problematic is if the value of subbuf_order changes in the middle of ring_buffer_alloc_read_page(). In that case, bpage->order might not match the actual allocated memory. Use bpage->order for the allocation to prevent this race.

Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

In the news

No ingested article mentions this CVE yet.