CVE-2026-99158
NoneCVSS
—
EPSS
0.2%
Published
Oct 28, 2026
CISA due date
—
Cloudanix analysis
A timing bug in the Linux kernel's event recording system could produce misleading error messages even when everything is working normally.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Theoretical
- Impact
- Other
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition in ring_buffer_map_get_reader() causes NULL return from rb_get_reader_page() (when reader catches up to committing writer) to be treated as error, emitting false warning despite existing no-data handling path.
Why it matters to the business
Spurious kernel warnings during normal tracing or performance monitoring workloads can trigger unnecessary alerts, complicate log analysis, and increase operational noise for Linux systems using ring buffers.
How an attack unfolds
An attacker with local access triggers mmap reader operations concurrently with writers still committing events, causing the function to hit the unhandled NULL case and log a warning; no privilege escalation or data compromise occurs.
How to fix it
Apply the upstream kernel patch that routes NULL returns through the existing no-data exit path and removes the redundant reader_page == commit_page check; rebuild and reboot with the corrected kernel.
How to confirm the fix worked
Confirm the patch is present by inspecting ring_buffer.c for the updated NULL handling logic; run stress tests exercising concurrent mmap readers and writers to verify absence of the warning.
Typical attack path
- Obtain local unprivileged access on Linux host
- Open and mmap a ring buffer (e.g., via perf or ftrace)
- Time writes to advance commit_page before length is published
- Trigger reader catch-up that returns NULL from rb_get_reader_page()
- Observe false warning emitted by ring_buffer_map_get_reader()
How to detect it
Search kernel logs (dmesg, journalctl) and tracing output for warnings originating from ring_buffer_map_get_reader or mentions of NULL reader page during active mmap usage.
What your security team should do
- Prioritize patching production kernels that expose ring buffers to untrusted local users
- Monitor kernel logs for the specific false-warning string until patched
- Limit unprivileged access to perf_event_open and similar interfaces where feasible
The record
In the Linux kernel, the following vulnerability has been resolved: ring-buffer: Fix false warning in ring_buffer_map_get_reader() The mmap reader can warn when it catches up with a writer that is still committing events. rb_get_reader_page() returns NULL in this case, but ring_buffer_map_get_reader() treats that result as an error. The initial rb_per_cpu_empty() check filters out an empty buffer, but it does not guarantee that the next reader page has committed data. Writers do not take reader_lock and can advance commit_page before publishing the committed length on the new page. rb_get_reader_page() can swap to that page, catch up with the writer and return NULL. Handle NULL through the existing no-data exit without warning. Remove the caller's reader_page == commit_page check as well, since the reader-page helper already handles that case. The existing metadata update and return path remain in place.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|