CVE-2026-74601
Received Received - Intake

Race Condition in Linux Kernel Ring Buffer

Vulnerability report for CVE-2026-74601, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-22

Last updated on: 2026-08-22

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: ring-buffer: Use current_context for safe per-CPU buffer swap The ring_buffer_swap_cpu() function currently checks the per-CPU committing counter to determine if a buffer is actively being written to before performing the swap. However, there exists a race window where this check can be bypassed: ring_buffer_lock_reserve cpu_buffer = buffer->buffers[cpu]; // cpu_buffer_a rb_reserve_next_event rb_start_commit // inc committing if (unlikely(READ_ONCE(cpu_buffer->buffer) != buffer)) {...} __rb_reserve_next rb_move_tail rb_end_commit(cpu_buffer); // dec committing => 0 /* interrupt hits here, successfully swaps! */ local_inc(&cpu_buffer->committing); ring_buffer_unlock_commit cpu_buffer = buffer->buffers[cpu]; // cpu_buffer_b rb_commit rb_end_commit RB_WARN_ON(cpu_buffer, !local_read(&cpu_buffer->committing)) // triggers warning The committing counter can temporarily drop to 0 during a single write operation (within rb_move_tail), creating a window where swap can succeed even though the write is still in progress. This leads to inconsistent buffer state and triggers the RB_WARN_ON in rb_commit(). Replace the committing counter check with current_context checks, which are set at the entry of ring_buffer_lock_reserve() and remain valid throughout the entire write operation, providing a reliable indicator of buffer busy state during swap.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-22
Last Modified
2026-08-22
Generated
2026-08-22
AI Q&A
2026-08-22
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a race condition in the Linux kernel's ring buffer implementation. The ring_buffer_swap_cpu() function incorrectly checks a per-CPU committing counter to determine if a buffer is being written to before swapping it. A timing window exists where the counter can temporarily drop to zero during a write operation, allowing a buffer swap to occur while a write is still in progress. This leads to inconsistent buffer state and triggers warnings.

Detection Guidance

This vulnerability is specific to the Linux kernel's ring buffer implementation and does not have direct network detection methods. Detection involves checking kernel logs for RB_WARN_ON warnings related to ring buffer commits, which may indicate exploitation attempts or race conditions.

Impact Analysis

This vulnerability could cause system instability or crashes in the Linux kernel due to corrupted ring buffer state. It may lead to data corruption, unexpected behavior in applications relying on the ring buffer, or kernel warnings and errors. Systems using affected kernel versions could experience performance issues or unexpected failures.

Mitigation Strategies

Apply the latest Linux kernel patches that address this issue. Monitor kernel logs for RB_WARN_ON warnings. Ensure your system is running a patched kernel version where the committing counter check is replaced with current_context checks.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-74601. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart