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

Сводка

по VulDB • 25.09.2026

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

tracing: Установка trace clock перед регистрацией триггера гистограммы

Функция `hist_register_trigger()` помещает триггер в глобальный список именованных триггеров (`named_triggers`) внутри вызова `cmd_ops->init()`, а только затем устанавливает trace clock:

```c if (data->cmd_ops->init) {
ret = data->cmd_ops->init(data); if (ret < 0) goto out; }

if (hist_data->enable_timestamps) {
ret = tracing_set_clock(file->tr, hist_data->attrs->clock); if (ret) {
hist_err(tr, HIST_ERR_SET_CLOCK_FAIL, errpos(clock)); goto out; } ```

Строка с именем clock не проверяется нигдо до этого вызова, поэтому именованный триггер, использующий `common_timestamp` с неизвестным clock, завершается ошибкой после того, как он уже становится доступным для поиска. Функция `event_hist_trigger_parse()` затем освобождает этот объект, не удаляя его из списка, в результате чего следующий поиск по имени считывает данные из освобожденного объекта:

```bash ~# cd /sys/kernel/tracing/events/sched/sched_switch ~# echo 'hist:name=foo:keys=common_pid:ts=common_timestamp:clock=bogus' > trigger bash: echo: write error: Invalid argument ~# echo 'hist:name=foo:keys=common_pid' > trigger

BUG: KASAN: slab-use-after-free in find_named_trigger+0xac/0xc0 Read of size 8 at addr ffff88800915d760 by task init/1 find_named_trigger+0xac/0xc0 hist_register_trigger+0xc1/0x900 event_hist_trigger_parse+0x3146/0x6af0 event_trigger_write+0xce/0x160 Freed by task 63: kfree+0x154/0x420 trigger_kthread_fn+0xfd/0x160 ```

Необходимо устанавливать clock до регистрации триггера, чтобы ничего, что может завершиться ошибкой, не выполнялось после его публикации. Это аналогично тому, как коммит 6f86bdeab633 ("tracing: Fix bad hist from corrupting named_triggers list") переместил регистрацию ниже остальной части настройки.

Функция `tracing_set_filter_buffering()` использует подсчет ссылок (reference counting), поэтому путь обработки ошибки инициализации должен сначала освободить ссылку, которую теперь захватывает блок работы с clock.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

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

Linux

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

25.09.2026

Раскрытие

25.09.2026

Модерация

принято

Вход

VDB-410127

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!