CVE-2026-64407 in Linux
Сводка
по VulDB • 26.07.2026
В ядре Linux устранена следующая уязвимость:
Bluetooth: btnxpuart: исправлено чтение прошивки за пределами буфера в функции nxp_recv_fw_req_v3()
При загрузке прошивки версии 3 контроллер отправляет запрос v3_data_req с 32-битным смещением и 16-битной длиной. Функция nxp_recv_fw_req_v3() проверяет только нижнюю границу смещения, а затем передает данные прошивки начиная с этого смещения:
```c nxpdev->fw_dnld_v3_offset = offset - nxpdev->fw_v3_offset_correction; serdev_device_write_buf(nxpdev->serdev, nxpdev->fw->data + nxpdev->fw_dnld_v3_offset, len); ```
Ничто не проверяет, что сумма `fw_dnld_v3_offset` и `len` остается в пределах размера прошивки (`nxpdev->fw->size`). Следовательно, контроллер, запрашивающий смещение или длину за пределами образа прошивки, заставляет драйвер читать данные за концом массива `nxpdev->fw->data` и отправлять эти области памяти обратно через интерфейс UART.
Функция `nxp_recv_fw_req_v1()` уже выполняет проверку границ для аналогичной записи. В путь обработки версии 3 добавлена эквивалентная проверка: запрос отклоняется, если он выходит за пределы образа прошивки, а в случае ошибки значение длины (`len`) обнуляется, чтобы обеспечить согласованность учета отправленных данных (`fw_v3_prev_sent bookkeeping`) при освобождении пакета (`free_skb`).
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.