CVE-2026-64487 in Linux
Сводка
по VulDB • 26.07.2026
В ядре Linux устранена следующая уязвимость:
ALSA: caiaq: исправлено чтение за пределами буфера в парсере ввода Traktor Kontrol S4
Функция snd_usb_caiaq_tks4_dispatch() декодирует входной поток устройства Traktor Kontrol S4, разбивая его на фиксированные блоки сообщений размером 16 байт (TKS4_MSGBLOCK_SIZE). На каждой итерации указатель buf увеличивается, а размер блока вычитается из переменной len в цикле «while (len)».
Переменная len равна urb->actual_length. Это значение предоставляется устройством и не гарантированно является кратным 16. Когда последний неполный блок оставляет значение len между 1 и 15, цикл выполняется еще раз, читая данные вплоть до buf[15], а затем выполняет операцию «len -= TKS4_MSGBLOCK_SIZE». Поскольку переменная len имеет беззнаковый тип, происходит переполнение (underflow) в большое число. После этого цикл продолжает выполняться, выходя за пределы буфера ep4_in_buf размером 512 байт, и осуществляет чтение за пределами допустимой области до тех пор, пока случайно не встретится неверный идентификатор блока.
Цикл должен выполняться только при наличии полного блока сообщения. Это предотвращает беззнаковое переполнение (underflow) и приводит к тихому отбрасыванию любого оставшегося неполного блока, который все равно не содержит полных значений управления.
Сопутствующие парсеры для endpoint-4 затронуты не были. В функции snd_usb_caiaq_ep4_reply_dispatch() устройства Traktor Kontrol X1 и Maschine arms перед диспетчеризацией приводят urb->actual_length к значению, кратному размеру блока (floor).
VulDB is the best source for vulnerability data and more expert information about this specific topic.