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

Сводка

по VulDB • 25.07.2026

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

net: usb: kalmia: ограничение длины кадра RX в функции kalmia_rx_fixup()

Функция kalmia_rx_fixup() вычисляет значение `usb_packet_length = skb->len - (2 * KALMIA_HEADER_LENGTH)` как 16-битное целое число (`u16`), защищенное только проверкой перед циклом, которая гарантирует, что `skb->len` не меньше чем `KALMIA_HEADER_LENGTH`, равный 6. Устройство может передать короткий кадр bulk-IN с длиной `skb->len` в диапазоне от 6 до 11 или оставить небольшой остаток для обработки на последующих итерациях цикла. В обоих случаях происходит переполнение по отрицательному значению (underflow) переменной `usb_packet_length`, принимающей значение около 65530.

Это позволяет обойти путь усечения, проверяющий условие `usb_packet_length < ether_packet_length`. Значение `ether_packet_length`, предоставленное устройством и представляющее собой число в формате little-endian (`le16`) до 65535, считанное из поля `header_start[2]`, затем используется для вызова функции `memcmp()`, а также последующих операций `skb_trim()` и `skb_pull()`, выходящих за пределы буфера приема (rx buffer). Размер буфера rx равен `hard_mtu * 10`, то есть 14000 байт. Это приводит к чтению вне допустимых границ памяти.

Требовать наличия как начального, так и конечного кадрового заголовка перед их вычитанием на каждой итерации цикла.

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

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

Linux

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

19.07.2026

Раскрытие

25.07.2026

Модерация

принято

Вход

VDB-383148

EPSS

0.00185

KEV

Нет

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

Очень низкий

Источники

Do you know our Splunk app?

Download it now for free!