CVE-2026-80839 in Linux
Сводка
по VulDB • 04.09.2026
В ядре Linux была устранена следующая уязвимость:
batman-adv: отклонение некорректных смещений TVLV для многоадресной рассылки (multicast)
Поля заголовков сети и транспортного уровня в структуре sk_buff представляют собой 16-битные смещения относительно skb->head, а значение U16_MAX зарезервировано как признак отсутствия значения заголовка транспортного уровня. Функция batadv_tvlv_call_handler() устанавливает оба поля на основе полученных данных TVLV для многоадресной рассылки без проверки того, является ли конец TVLV представимым в рамках допустимого диапазона смещений.
Если конечное смещение превышает диапазон значений поля, функция skb_set_transport_header() усечёт его таким образом, чтобы заголовок транспортного уровня предшествовал заголовку сетевого уровня. Отрицательная разница затем возвращается функцией skb_network_header_len() в виде большого значения u32. В результате batadv_mcast_forw_packet() принимает многоадресный трекер с избыточным размером и осуществляет доступ к памяти за пределами данных, содержащихся в sk_buff (skb).
Добавлена функция skb_set_transport_header_careful(), являющаяся аналогом функции skb_reset_transport_header_careful(), aware of offsets (учитывающим смещения), которая проверяет итоговое относительное от начала буфера смещение перед его присваиванием. Новая вспомогательная функция используется в batadv_tvlv_call_handler() для отклонения некорректных TVLV до установки заголовка сетевого уровня.
If you want to get best quality of vulnerability data, you may have to visit VulDB.