CVE: CVE-2026-80681
Продукт: Linux Kernel
Дата публикации: 28.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,51%; процентиль 41,02%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В драйвере VXLAN ядра Linux обнаружена уязвимость use-after-free, возникающая при обработке пакетов с L2-редирекцией. Ошибка позволяет атакующему, имеющему доступ к сети, вызвать повреждение памяти или сбой системы. Статья описывает механизм атаки, затронутые версии и способы проверки исправления.
Основные характеристики
Уязвимость связана с обращением к освобожденной памяти в сетевом стеке при обработке VXLAN-трафика. Это может привести к отказу в обслуживании или потенциальному повышению привилегий.
- Тип ошибки: Use-after-free (CWE-416).
- CVSS 3.1: 9.8 (CRITICAL), вектор
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
- Условия атаки: Удаленный доступ, низкая сложность, привилегии не требуются.
- Эксплуатация: Публичные данные о подтвержденной эксплуатации отсутствуют.
- EPSS: 0,51% (процентиль 41,02%).
Какие продукты и версии затронуты
Уязвимость затрагивает ядра Linux, содержащие функцию
route_shortcircuit() в драйвере VXLAN. Ошибка была введена в коммите ae8840825605.- Версии: Все ядра, содержащие коммит
ae8840825605и не содержащие исправления.
- Компонент:
drivers/net/vxlan/vxlan_core.c.
- Исправление: Включено в ядра, содержащие коммит
1395a676ec15a0a02a2a6d86602324f2d5fd41d5.
Причина уязвимости
В функции
vxlan_xmit() указатель на Ethernet-заголовок кэшируется до вызова route_shortcircuit(). Внутри этой функции может быть вызвана pskb_may_pull(), которая перераспределяет память пакета.После возврата в
vxlan_xmit() кэшированный указатель указывает на освобожденную память. Обращение к eth->h_dest приводит к use-after-free. Исправление заключается в повторном получении заголовка через eth_hdr(skb) после вызова route_shortcircuit().Как работает атака
Атакующий отправляет пакет, который проходит через VXLAN-интерфейс с включенной L2-редирекцией. В процессе обработки вызывается
route_shortcircuit(), который может изменить структуру пакета.После возврата в
vxlan_xmit() код обращается к старому указателю на Ethernet-заголовок. Если память была освобождена и заново выделена, атакующий может контролировать данные по этому адресу, что приводит к повреждению памяти или выполнению кода.Условия успешной эксплуатации
Для успешной эксплуатации необходимо:
- Наличие VXLAN-интерфейса в системе.
- Включение функции L2-редирекции (L2 redirection with L3 switching).
- Доступ атакующего к сети, где обрабатываются VXLAN-пакеты.
- Отсутствие исправления в ядре.
Возможный сценарий атаки
Атакующий отправляет специально сформированный пакет на VXLAN-интерфейс. Пакет проходит через
vxlan_xmit(), где вызывается route_shortcircuit(). Внутри этой функции память пакета перераспределяется.После возврата в
vxlan_xmit() код обращается к освобожденной памяти. Если атакующий контролирует данные в этой памяти, он может повредить структуры ядра или выполнить код с привилегиями ядра.Есть ли публичный эксплойт
Публичные данные о подтвержденной эксплуатации в реальных атаках отсутствуют. Доступны только технические описания и патчи. Отсутствие сведений не означает отсутствие эксплойта, но подтвержденных инцидентов не зафиксировано.
Признаки эксплуатации
Специфичные IOC для этой уязвимости не опубликованы. Общие точки контроля (неспецифичные):
- Сбои ядра (kernel panics) при обработке сетевого трафика.
- Записи в журналах о use-after-free в сетевом стеке.
- Необъяснимые изменения в сетевых интерфейсах VXLAN.
Как обнаружить атаку
Для обнаружения атаки можно использовать:
- Мониторинг журналов ядра на ошибки памяти в сетевом стеке.
- Анализ сетевого трафика на аномальные VXLAN-пакеты.
- Проверку конфигурации VXLAN-интерфейсов на включенную L2-редирекцию.
Как проверить свою версию
Проверьте версию ядра и наличие исправления:
Bash:
uname -r
uname -a
cat /proc/version
Проверьте, содержит ли ядро коммит
1395a676ec15a0a02a2a6d86602324f2d5fd41d5.Исправление
Обновите ядро до версии, содержащей исправление. Патч добавляет строку
eth = eth_hdr(skb); после вызова route_shortcircuit() в drivers/net/vxlan/vxlan_core.c.- Коммит исправления:
1395a676ec15a0a02a2a6d86602324f2d5fd41d5.
- Файл:
drivers/net/vxlan/vxlan_core.c.
- Изменение: 1 строка добавлена.
Временные меры защиты
Пока обновление не установлено:
- Отключите VXLAN-интерфейсы, если они не используются.
- Ограничьте доступ к сети, где обрабатываются VXLAN-пакеты.
- Отключите L2-редирекцию, если это возможно в конфигурации.
Как проверить устранение уязвимости
После обновления проверьте:
- Версию ядра через
uname -r.
- Наличие коммита
1395a676ec15a0a02a2a6d86602324f2d5fd41d5в истории ядра.
- Отсутствие ошибок use-after-free в журналах при нагрузке на VXLAN.
Вывод
Уязвимость CVE-2026-80681 представляет серьезный риск для систем с VXLAN. Обновление ядра до версии с патчем является обязательным. При невозможности обновления следует ограничить доступ к VXLAN-интерфейсам и мониторить журналы на аномалии.
Официальные источники
- NVD — CVE-2026-80681
- FIRST EPSS — CVE-2026-80681
- vxlan: re-fetch eth header after route_shortcircuit() - kernel/git/stable/linux.git - Linux kernel stable tree
- vxlan: re-fetch eth header after route_shortcircuit() - kernel/git/stable/linux.git - Linux kernel stable tree
- vxlan: re-fetch eth header after route_shortcircuit() - kernel/git/stable/linux.git - Linux kernel stable tree
- vxlan: re-fetch eth header after route_shortcircuit() - kernel/git/stable/linux.git - Linux kernel stable tree
- vxlan: re-fetch eth header after route_shortcircuit() - kernel/git/stable/linux.git - Linux kernel stable tree
- vxlan: re-fetch eth header after route_shortcircuit() - kernel/git/stable/linux.git - Linux kernel stable tree
- vxlan: re-fetch eth header after route_shortcircuit() - kernel/git/stable/linux.git - Linux kernel stable tree
- vxlan: re-fetch eth header after route_shortcircuit() - kernel/git/stable/linux.git - Linux kernel stable tree
История обновлений статьи
- 30.08.2026 — Опубликована первая версия материала.
