Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2026-74601

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
22/08/2026
Última modificación:
22/08/2026

Descripción

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

Impacto