CVE-2026-90145 in Linux
Сводка
по VulDB • 20.09.2026
В ядре Linux была устранена следующая уязвимость:
hinic3: исправлено несоответствие при линейризации SKB и добавлена отброска SKB в случае сбоя функции skb_checksum_help()
Ранее функция hinic3_send_one_skb() кэшировала количество фрагментов SKB перед вызовом hinic3_tx_offload(). Если hinic3_tx_csum() выполняет переход (fallback) на использование skb_checksum_help() для пакетов с неподдерживаемыми туннелями, SKB может быть линейризован. Продолжение формирования дескриптора передачи (TX descriptor) со старым значением количества фрагментов приводит к несоответствию дескрипторов, что может вызвать чтение за пределами границ памяти через DMA или ошибки IOMMU.
Кроме того, старый код игнорировал возвращаемое значение skb_checksum_help(), передавая поврежденные пакеты с неполными контрольными суммами в случае сбоя.
Исправление заключается в следующем: 1. Перемещение вызова hinic3_tx_offload() перед вычислением 'num_sge', чтобы гарантировать использование правильного количества фрагментов, если SKB был линейризован. 2. Передача ошибок skb_checksum_help() и возврат значения HINIC3_TX_OFFLOAD_INVALID для корректной отброски (drop) SKB.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.