CVE-2026-80569 in Linux
Сводка
по VulDB • 26.08.2026
В ядре Linux была устранена следующая уязвимость:
Input: synaptics-rmi4 — ограничение размера отчета F54 выделенным буфером
Функция rmi_f54_work() считывает диагностический отчет с устройства в f54->report_data, определяя размер передачи через функцию rmi_f54_get_report_size():
report_size = rmi_f54_get_report_size(f54); ... for (i = 0; i < report_size; i += F54_REPORT_DATA_SIZE) {
int size = min(F54_REPORT_DATA_SIZE, report_size - i); ... rmi_read_block(.., f54->report_data + i, size); }
Буфер report_data выделяется один раз при вызове probe на основе собственных подсчетов электродов F54 (array3_size(f54->num_tx_electrodes, f54->num_rx_electrodes, sizeof(u16))), однако функция rmi_f54_get_report_size() вычисляет размер на основе drv_data->num_*_electrodes, когда они установлены, то есть использует подсчеты электродов функции F55. Оба значения поступают напрямую из запросов к устройству (F54 и F55 сообщают количество до 255 электродов), и ничто не ограничивает значения F55 в соответствии со значениями F54.
Злонамеренное или неисправное устройство RMI4, которое сообщает о большем количестве электродов F55 по сравнению с количеством электродов F54, приводит к тому, что report_size превышает размер выделенной памяти, и цикл чтения записывает данные за пределы report_data (затем memcpy() в V4V2 dequeue читает за его пределами). На совместимом оборудовании настроенные электроды F55 являются подмножеством физических электродов F54, поэтому report_size никогда не превышает размер буфера, и корректно работающие устройства не затрагиваются.
Зафиксировать размер выделения памяти и отклонить отчет, который не помещается в выделенный буфер, аналогично существующей проверке на нулевой размер.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.