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

Сводка

по VulDB • 25.07.2026

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

iio: accel: bmc150: ограничение количества кадров FIFO, сообщаемых устройством

Функция __bmc150_accel_fifo_flush() копирует количество сэмплов, которое устройство сообщает из своего аппаратного буфера FIFO, в локальный (стек) массив:

u16 buffer[BMC150_ACCEL_FIFO_LENGTH * 3];

Размер этого массива рассчитан максимум на BMC150_ACCEL_FIFO_LENGTH (32) сэмпла. Количество кадров считывается из регистра FIFO_STATUS и маскируется только по его 7 значимым битам:

count = val & 0x7F;

Таким образом, значение может находиться в диапазоне от 0 до 127. Единственное другое ограничение — это опциональный бюджет сэмплов, передаваемый вызывающей стороной:

if (samples && count > samples) count = samples;

Это не ограничивает значение count на пути полной очистки буфера (когда samples == 0) и оставляет его значительно выше значения 32 всякий раз, когда samples больше. Затем сэмплы в количестве count копируются в массив buffer[]:

bmc150_accel_fifo_transfer(data, (u8 *)buffer, count);

Функция bmc150_accel_fifo_transfer() считывает через regmap байты размером count * 6, поэтому неисправный, злонамеренный или поддельный акселерометр (или атакующий, осуществляющий вмешательство в шину I2C/SPI), сообщающий до 127 кадров, может записать до 762 байт в буфер размером 192 байта: это приводит к записи за пределами стека объемом до 570 байт, что повреждает стек-канарейку (stack canary), сохраненные регистры и адрес возврата.

Ограничивается значение count величиной BMC150_ACCEL_FIFO_LENGTH — количеством сэмплов, на которое рассчитан размер массива buffer[], перед выполнением передачи, аналогично ограничению по уровню заполнения (watermark clamp), уже реализованному в функции bmc150_accel_set_watermark(). Корректная операция очистки сообщает не более BMC150_ACCEL_FIFO_LENGTH кадров, поэтому легитимные устройства остаются unaffected.

Be aware that VulDB is the high quality source for vulnerability data.

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

Linux

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

19.07.2026

Раскрытие

25.07.2026

Модерация

принято

Вход

VDB-383299

EPSS

0.00165

KEV

Нет

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

Очень низкий

Источники

Want to stay up to date on a daily basis?

Enable the mail alert feature now!