CVE-2026-23293

NONE EPSS 0.03%
Обновлено 25 марта 2026
Linux
Параметр Значение
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: net: vxlan: исправлено разыменование nd_tbl NULL при отключении IPv6. При загрузке с параметром «ipv6.disable=1» nd_tbl никогда не инициализируется, поскольку inet6_init() завершается до вызова ndisc_init() который инициализирует его. Если пакет IPv6 вводится в интерфейс, вызывается Route_shortcircuit() и происходит разыменование нулевого указателя. neigh_lookup().

ОШИБКА: разыменование нулевого указателя ядра, адрес: 0000000000000380. Упс: Упс: 0000 [#1] SMP NOPTI [...] RIP: 0010:neigh_lookup+0x20/0x270 [...] Отслеживание вызова: <ЗАДАЧА> vxlan_xmit+0x638/0x1ef0 [vxlan] dev_hard_start_xmit+0x9e/0x2e0 __dev_queue_xmit+0xbee/0x14e0 package_sendmsg+0x116f/0x1930 __sys_sendto+0x1f5/0x200 __x64_sys_sendto+0x24/0x30 do_syscall_64+0x12f/0x1590 запись_SYSCALL_64_after_hwframe+0x76/0x7e Исправьте это, добавив раннюю проверку метода Route_shortcircuit(), когда протокол это ETH_P_IPV6. Обратите внимание, что ipv6_mod_enabled() здесь нельзя использовать, потому что VXLAN может быть встроен, даже если IPv6 встроен в виде модуля.

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: net: vxlan: fix nd_tbl NULL dereference when IPv6 is disabled When booting with the 'ipv6.disable=1' parameter, the nd_tbl is never initialized because inet6_init() exits before ndisc_init() is called which initializes it. If an IPv6 packet is injected into the interface, route_shortcircuit() is called and a NULL pointer dereference happens on neigh_lookup(). BUG: kernel NULL pointer dereference, address: 0000000000000380 Oops: Oops: 0000 [#1] SMP NOPTI [...] RIP: 0010:neigh_lookup+0x20/0x270 [...] Call Trace: <TASK> vxlan_xmit+0x638/0x1ef0 [vxlan] dev_hard_start_xmit+0x9e/0x2e0 __dev_queue_xmit+0xbee/0x14e0 packet_sendmsg+0x116f/0x1930 __sys_sendto+0x1f5/0x200 __x64_sys_sendto+0x24/0x30 do_syscall_64+0x12f/0x1590 entry_SYSCALL_64_after_hwframe+0x76/0x7e Fix this by adding an early check on route_shortcircuit() when protocol is ETH_P_IPV6. Note that ipv6_mod_enabled() cannot be used here because VXLAN can be built-in even when IPv6 is built as a module.