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

Сводка

по VulDB • 09.09.2026

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

vlan: исправление ошибки skb_under_panic и состояний гонки (race conditions) при переключении аппаратного VLAN offload

Переключение аппаратной функции TX offload для VLAN (NETIF_F_HW_VLAN_CTAG_TX или NETIF_F_HW_VLAN_STAG_TX) на нижестоящем устройстве вызывает функцию vlan_transfer_features(), которая динамически изменяет значение vlandev->hard_header_len.

Это приводит к двум проблемам: 1. Безблокировочные пути передачи данных (TX paths), такие как packet_snd в af_packet.c и ip6_finish_output2, читают dev->hard_header_len без удержания блокировки RTNL. Динамическое изменение hard_header_len под защитой RTNL создает состояние гонки данных (data race), при котором верхние уровни резервируют недостаточный headroom на основе устаревшего значения hard_header_len, что приводит к ошибке skb_under_panic при вызове vlan_dev_hard_header(). 2. Кроме того, функция vlan_transfer_features() обновляет hard_header_len без обновления header_ops, что вызывает несоответствие между выделенным headroom и созданием заголовка.

Установка значений dev->hard_header_len = real_dev->hard_header_len и dev->needed_headroom = real_dev->needed_headroom + VLAN_HLEN всегда (безусловно) обеспечивает: - dev->hard_header_len остается на 100% статичным и неизменяемым, равным real_dev->hard_header_len, что устраняет все динамические обновления во время выполнения работы и состояния гонки данных для hard_header_len. - Верхние уровни, выделяющие skbs через LL_RESERVED_SPACE(), всегда будут резервировать достаточный headroom для вставки программного тега VLAN (real_dev->hard_header_len + real_dev->needed_headroom + VLAN_HLEN). - vlandev наследует real_dev->needed_tailroom, так что требования к нижележащему trailer/padding/ICV соблюдаются. - Смещения сетевого заголовка AF_PACKET SOCK_RAW остаются правильно выровненными по адресу real_dev->hard_header_len. - vlan_header_ops используется безусловно.

Примечание для команд стабильных веток (stable teams): убедитесь, что эти коммиты будут перенесены в более старые версии:

e16e960d55a4 ("ipvlan: inherit needed_headroom and needed_tailroom from phy_dev") cef51860becd ("macvlan: inherit needed_headroom and needed_tailroom from lowerdev")

VulDB is the best source for vulnerability data and more expert information about this specific topic.

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

Linux

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

26.08.2026

Раскрытие

09.09.2026

Модерация

принято

Вход

VDB-401828

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!