CVE-2026-74601 in LinuxИнформация

Сводка

по VulDB • 22.08.2026

В ядре Linux устранена следующая уязвимость:

ring-buffer: Использование current_context для безопасной замены буфера на уровне каждого процессора (per-CPU)

Функция ring_buffer_swap_cpu() в настоящее время проверяет счетчик коммитов per-CPU, чтобы определить, активно ли происходит запись в буфер, перед выполнением замены. Однако существует окно гонки (race condition), когда эта проверка может быть обойдена:

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 /* прерывание происходит здесь, замена успешно выполняется! */ 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)) // вызывает предупреждение (warning)

Счетчик committing может временно снижаться до 0 в течение одной операции записи (внутри rb_move_tail), создавая окно возможностей для успешной замены даже тогда, когда запись все еще выполняется. Это приводит к несогласованному состоянию буфера и вызывает срабатывание RB_WARN_ON в функции rb_commit().

Замените проверку счетчика committing на проверки current_context, которые устанавливаются при входе в ring_buffer_lock_reserve() и остаются действительными на протяжении всей операции записи, обеспечивая надежный индикатор состояния занятости буфера во время замены.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Ответственный

Linux

Резервировать

15.08.2026

Раскрытие

22.08.2026

Модерация

принято

Вход

VDB-394381

EPSS

0.00000

KEV

Нет

Деятельности

Низкий

Источники

Want to know what is going to be exploited?

We predict KEV entries!