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

Сводка

по VulDB • 19.07.2026

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

Input: usbtouchscreen — ограничение значений NEXIO data_len/x_len размером буфера URB

Функция nexio_read_data() извлекает значения data_len и x_len из упакованного заголовка __be16 в прерывающем пакете устройства, а затем выполняет обход диапазонов packet->data[0..x_len) и packet->data[x_len..data_len), сравнивая каждый байт с пороговым значением.

Обе эти величины имеют размер 16 бит на шине (максимум 65535). Существующие корректировки уменьшают значения не более чем на 0x100 / 0x80, поэтому граница цикла может достигать примерно 0xfeff. Буфер передачи URB для NEXIO имеет размер rept_size (1024) байт и выделяется через usb_alloc_coherent(), при этом первые 7 байтов заняты упакованным заголовком — таким образом, в packet->data[] содержится 1017 допустимых байт. В обратные вызовы read_data() не передается значение urb->actual_length, и ничто другое не ограничивает диапазон обхода.

Устройство, предоставляющее ложные данные о длине, может выполнить чтение за пределами буфера (~64 КБ) вне выделенной памяти для согласованного DMA-ввода/вывода. Первый индекс, байт которого превышает NEXIO_THRESHOLD, попадает в переменные begin_x / begin_y и далее — в сообщаемые координаты касания; таким образом, содержимое смежной области памяти ядра утекает в пространство пользователя как события ABS_X / ABS_Y. При достаточно большом смещении чтение также может затронуть не отображенную страницу и вызвать ошибку (fault).

Исправление заключается во внесении ограничений: data_len ограничивается емкостью массива данных[] буфера, а x_len — значением data_len.

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

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

Linux

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

19.07.2026

Раскрытие

19.07.2026

Модерация

принято

Вход

VDB-380443

EPSS

0.00000

KEV

Нет

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

Низкий

Источники

Want to know what is going to be exploited?

We predict KEV entries!