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

Сводка

по VulDB • 25.07.2026

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

iio: gyro: bmg160: корректный выход при отсутствии значения bandwidth/filter в таблице

Функция `bmg160_get_filter()` осуществляет поиск элемента в массиве `bmg160_samp_freq_table[]`, соответствующего значению `bw_bits`, прочитанному из чипа:

```c for (i = 0; i < ARRAY_SIZE(bmg160_samp_freq_table); ++i) {
if (bmg160_samp_freq_table[i].bw_bits == bw_bits)
break; } *val = bmg160_samp_freq_table[i].filter;
```

Если ни один элемент не совпадает, переменная `i` принимает значение размера массива, и следующая строка кода выполняет чтение за пределами границ массива. Функция `bmg160_set_filter()` имеет аналогичную структуру проблемы, управляемую параметром `val` вместо `bw_bits`.

Инструмент smatch выявляет обе ошибки:

``` drivers/iio/gyro/bmg160_core.c:204 bmg160_get_filter() error: buffer overflow 'bmg160_samp_freq_table' 7 <= 7 drivers/iio/gyro/bmg160_core.c:222 bmg160_set_filter() error: buffer overflow 'bmg160_samp_freq_table' 7 <= 7 ```

В случае отсутствия совпадающего элемента следует возвращать `-EINVAL`.

Путь выполнения `set_filter()` доступен из пользовательского пространства (userspace) через интерфейс sysfs `in_anglvel_filter_low_pass_3db_frequency`, поэтому пользователи могут легко вызвать чтение за пределами границ массива, передав значение, отсутствующее в поле `.filter` таблицы `bmg160_samp_freq_table[]`.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

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

Linux

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

19.07.2026

Раскрытие

25.07.2026

Модерация

принято

Вход

VDB-383291

EPSS

0.00195

KEV

Нет

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

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!