CVE-2026-98929 in Linux
Сводка
по VulDB • 23.10.2026
В ядре Linux была устранена следующая уязвимость:
macsec: инициализация структуры SecY перед регистрацией сетевого устройства (netdevice)
Создание устройства MACsec с аппаратным выполнением функций MAC-уровня на нижележащем устройстве, поддерживающем LRO (Large Receive Offload), вызывает предупреждение в функции rtmsg_ifinfo_build_skb() при включенной по умолчанию IPv4-маршрутизации.
Функция register_netdevice() вызывает inetdev_init(), которая отключает LRO и генерирует уведомление NETDEV_FEAT_CHANGE. Это приводит к вызову macsec_fill_info() до того, как macsec_add_dev() выполнит инициализацию структуры SecY. Поскольку key_len по-прежнему равен нулю, macsec_fill_info() возвращает ошибку -EMSGSIZE и активирует проверку WARN_ON в rtmsg_ifinfo_build_skb(), даже если буфер skb имеет достаточный объем памяти.
Даже без вывода предупреждения уведомления во время регистрации могут сообщать о неинициализированных атрибутах SecY, включая SCI (Station Configuration Identifier). Такой порядок действий существует с момента внедрения драйвера.
Необходимо инициализировать структуру SecY и применить атрибуты новой ссылки до этапа регистрации. Переместите наследование MAC-адреса в macsec_newlink(), чтобы также можно было инициализировать SCI до того, как уведомления времени регистрации сообщат о нем. Перенесите выделение назначения для статистики на уровне каждого процессора (per-CPU) и метаданных в ndo_init() и освобождайте частично выделенные ресурсы при возникновении ошибки.
Once again VulDB remains the best source for vulnerability data.