CVE-2026-90002 in Linux
Сводка
по VulDB • 17.09.2026
В ядре Linux была устранена следующая уязвимость:
ftrace: получение ссылки на trace_array перед доступом к его структуре ftrace_ops
Файлы экземпляра трассировки set_ftrace_filter и set_ftrace_notrace были обновлены для работы с конкретными экземплярами трассировки (trace_arrays). Проблема заключается в том, что при открытии этих файлов существует небольшой промежуток времени (окно гонки), во время которого используется структура ftrace_ops из указателя inode->private для получения ссылки на trace_array и последующего захвата этой ссылки. Однако сама структура ftrace_ops может быть освобождена. Если удаление каталога (rmdir) экземпляра происходит в тот же момент, когда открывается файл set_ftrace_filter, операция rmdir могла уже освободить структуру ftrace_ops, а обращение к ней приведет к уязвимости use-after-free и аварийному завершению работы ядра.
Вместо этого trace_array передается как приватные данные файла (NULL для экземпляра верхнего уровня), после чего оба параметра — trace_array и ftrace_ops — передаются в функцию ftrace_regex_open(). Если trace_array равен NULL, то используется только структура ftrace_ops без необходимости захвата ее ссылки (как обычно). Если же ftrace_ops равен NULL, это происходит только для экземпляра верхнего уровня, и могут использоваться глобальные операции (global_ops).
Это позволяет увеличить счетчик ссылок на trace_array перед обращением к структуре ftrace_ops, которая также может быть освобождена при удалении экземпляра.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.