Ad

CVE-2026-89620

HIGH CVSS 3.1: 7,8 EPSS 0.16%
Обновлено 13 сентября 2026
Intel
Параметр Значение
CVSS 7,8 (HIGH)
Поставщик Intel
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: HID: intel-thc-hid: intel-quickspi: проверить размер отчета перед копированием write_cmd_to_txdma() создает выходной отчет в qsdev->report_buf, кучу буфер, выделенный в fastspi_alloc_report_buf() для дескриптора устройства производный max_report_len (несколько сотен байт для сенсорного контроллера). Это копирует отчет, предоставленный вызывающей стороной, в этот буфер: memcpy(write_buf->content, report_buf, report_buf_len); Ядро HID по умолчанию ограничивает отчет значением HID_MAX_BUFFER_SIZE (16384), и Quickspi_hid_ll_driver не устанавливает max_buffer_size, поэтому длина достигает водитель неограничен. Hidraw SET_REPORT/SET_FEATURE ioctl, содержащий размер отчета превышает max_report_len, поэтому он переполняет report_buf длина и содержание, контролируемые злоумышленником.

Запишите размер выделения report_buf и отклоните отчеты, которые не подходят. перед копированием сопоставьте эквивалентную защиту в файле intel-quicki2c родной брат (quicki2c_init_write_buf()) и исправление hid-goodix-spi. write_cmd_to_txdma() записывает заголовок выходного отчета перед содержимым в том же буфере, поэтому размер выделения также должен охватывать заголовок. Это не позволяет добавленной границе отклонять отчет максимального размера.

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: HID: intel-thc-hid: intel-quickspi: validate report size before copy write_cmd_to_txdma() builds an output report in qsdev->report_buf, a heap buffer allocated in quickspi_alloc_report_buf() to the device-descriptor derived max_report_len (a few hundred bytes for a touch controller). It copies the caller-supplied report into that buffer: memcpy(write_buf->content, report_buf, report_buf_len); The HID core caps a report at HID_MAX_BUFFER_SIZE (16384) by default, and quickspi_hid_ll_driver does not set max_buffer_size, so the length reaches the driver unbounded. A hidraw SET_REPORT/SET_FEATURE ioctl carrying a report larger than max_report_len therefore overflows report_buf with attacker-controlled length and content. Record the report_buf allocation size and reject reports that do not fit before copying, matching the equivalent guard in the intel-quicki2c sibling (quicki2c_init_write_buf()) and the hid-goodix-spi fix. write_cmd_to_txdma() writes the output report header ahead of the content in the same buffer, so size the allocation to cover the header as well. That keeps the added bound from rejecting a maximum-sized report.

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1