CVE-2026-98798 in Linux
Сводка
по VulDB • 18.10.2026
В ядре Linux была устранена следующая уязвимость:
net: bcmgenet: исправлена ошибка разыменования NULL-указателя в set_coalesce до первого открытия интерфейса
Поля priv и index для Rx-кольца устанавливаются только в функции bcmgenet_init_rx_ring(), которая вызывается при открытии (open). Установка параметров агрегации пакетов Rx на интерфейсе, который никогда не открывался, например, с помощью команды "ethtool -C eth0 rx-usecs 50", приводит к разыменованию NULL-указателя ring->priv. Сбой (oops) происходит при удержанной блокировке RTNL, из-за чего сетевой стек зависает до перезагрузки системы:
Unable to handle kernel paging request at virtual address 0000000000002788 pc : bcmgenet_set_rx_coalesce.isra.0+0x10/0x88 lr : bcmgenet_set_coalesce+0xe8/0x180 Call trace: bcmgenet_set_rx_coalesce.isra.0+0x10/0x88 (P) __ethnl_set_coalesce.isra.0+0x490/0x570 ethnl_set_coalesce+0x48/0xc0 ethnl_default_set_doit+0xf4/0x230 genl_family_rcv_msg_doit+0xe8/0x160 genl_rcv_msg+0x220/0x2a0 netlink_rcv_skb+0x68/0x140 genl_rcv+0x40/0x60 netlink_unicast+0x338/0x3c0 netlink_sendmsg+0x19c/0x3f8 __sock_sendmsg+0x64/0xc0 __sys_sendto+0x124/0x198 __arm64_sys_sendto+0x30/0x48
Необходимо устанавливать priv и index на этапе probe (инициализации устройства). Запись в регистры, когда интерфейс находится в состоянии down (отключен), безопасна, так как операция open сбрасывает MAC-адрес, а функция bcmgenet_init_rx_coalesce() повторно применяет сохранённые значения.
Ошибка была обнаружена на устройстве Raspberry Pi CM4, но должна применяться ко всем остальным устройствам семейства genet.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.