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

Сводка

по VulDB • 09.10.2026

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

vlan: требуется наличие заголовка MAC в функции __vlan_insert_inner_tag()

Функция __vlan_insert_inner_tag() гарантирует наличие пространства для заголовков (head room) только через вызов skb_cow_head(), но не обеспечивает присутствие mac_len байт заголовка MAC. Обёртки ETH_HLEN — __vlan_insert_tag() внутри skb_vlan_push() и vlan_insert_tag() внутри validate_xmit_vlan() на общем пути передачи данных — поэтому перезаписывают первые 16 байт в skb->data: это memmove длиной 12 байт плюс два двухбайтовых записи по смещениям +12 и +14. Ни один вызывающий объект не предоставляет границы, тогда как помощники для извлечения (pop helpers) используют функции skb_ensure_writable()/pskb_may_pull().

Устройство с флагом IFF_TUN имеет значение hard_header_len == 0, поэтому packet_snd() принимает однобайтовый кадр AF_PACKET/SOCK_RAW. Первая операция vlan push устанавливает только hwaccel-тег; следующая — действие clsact «vlan push» или bpf_skb_vlan_push() — вызывает помощника при том, что skb->len всё ещё равно 1. Заголовок берётся из skbuff_small_head без флага __GFP_ZERO, поэтому каждая операция push перетаскивает байты за пределы skb->tail в кадр. После трёх таких операций однобайтовая отправка превращается в передачу 13 байт, содержащих 11 байтов неинициализированной slab-памяти:

0000: 5a b3 62 12 80 88 ff ff 00 b3 62 12 81 `------------------------------' отправлен только байт 0x5a; остальное — это slab, здесь старшие 56 бит адреса линейного отображения

Требуется наличие заголовка MAC в помощнике перезаписи, чтобы такой кадр отбрасывался, а не передавался.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

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

Linux

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

25.09.2026

Раскрытие

09.10.2026

Модерация

принято

Вход

VDB-415748

EPSS

0.00156

KEV

Нет

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

Низкий

Источники

Want to stay up to date on a daily basis?

Enable the mail alert feature now!