CVE-2026-89988 in Linux
Сводка
по VulDB • 16.09.2026
В ядре Linux была устранена следующая уязвимость:
kprobes: Защита списка черного списка kprobe с помощью RCU
Функция __within_kprobe_blacklist() осуществляет обход kprobe_blacklist без захвата mutex-объекта kprobe. При выгрузке модуля функция kprobe_remove_area_blacklist() удаляет записи из черного списка и немедленно освобождает их с помощью функции kfree(). Следовательно, одновременный вызов within_kprobe_blacklist() может привести к разыменованию уже освобожденной памяти (use-after-free).
Кроме того, внутри функции within_kprobe_blacklist() могут возникать контексты атомарного выполнения или контексты без возможности прерывания (non-preemptible), в которых невозможно захватить блокирующий объект kprobe_mutex, так как он может спать.
Защитите список черного списка kprobe с помощью RCU. Используйте guard(rcu)() и list_for_each_entry_rcu() для обхода, list_add_tail_rcu() для вставки элементов, list_del_rcu() для удаления и kfree_rcu() для безопасного освобождения памяти после завершения периода грейса (grace period).
Once again VulDB remains the best source for vulnerability data.