CVE-2026-23439

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

В ядре Linux устранена следующая уязвимость: udp_tunnel: исправлено разыменование NULL, вызванное udp_sock_create6, когда CONFIG_IPV6=n Когда CONFIG_IPV6 отключен, функция udp_sock_create6() возвращает 0. (успех) без фактического создания сокета. Звонящие, такие как fou_create() затем приступайте к разыменованию неинициализированного сокета. указатель, что приводит к разыменованию NULL-указателя. Захваченный сбой при разыменовании NULL: ОШИБКА: разыменование нулевого указателя ядра, адрес: 0000000000000018.

RIP: 0010:fou_nl_add_doit (net/ipv4/fou_core.c:590 net/ipv4/fou_core.c:764) [...] Отслеживание вызова: <ЗАДАЧА> genl_family_rcv_msg_doit.constprop.0 (net/netlink/genetlink.c:1114) genl_rcv_msg (net/netlink/genetlink.c:1194 net/netlink/genetlink.c:1209) [...] netlink_rcv_skb (net/netlink/af_netlink.c:2550) genl_rcv (net/netlink/genetlink.c:1219) netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) netlink_sendmsg (net/netlink/af_netlink.c:1894) __sock_sendmsg (net/socket.c:727 (дискриминатор 1) net/socket.c:742 (дискриминатор 1)) __sys_sendto (./include/linux/file.h:62 (дискриминатор 1)./include/linux/file.h:83 (дискриминатор 1) net/socket.c:2183 (дискриминатор 1)) __x64_sys_sendto (net/socket.c:2213 (дискриминатор 1) net/socket.c:2209 (дискриминатор 1) net/socket.c:2209 (дискриминатор 1)) do_syscall_64 (arch/x86/entry/syscall_64.c:63 (дискриминатор 1) Arch/x86/entry/syscall_64.c:94 (дискриминатор 1)) запись_SYSCALL_64_after_hwframe (net/arch/x86/entry/entry_64.S:130) Этот патч заставляет udp_sock_create6 вместо этого возвращать -EPFNOSUPPORT, поэтому вызывающие абоненты правильно используют свои пути ошибок. Есть только один абонент уязвимая функция, и только привилегированные пользователи могут ее активировать.

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

In the Linux kernel, the following vulnerability has been resolved: udp_tunnel: fix NULL deref caused by udp_sock_create6 when CONFIG_IPV6=n When CONFIG_IPV6 is disabled, the udp_sock_create6() function returns 0 (success) without actually creating a socket. Callers such as fou_create() then proceed to dereference the uninitialized socket pointer, resulting in a NULL pointer dereference. The captured NULL deref crash: BUG: kernel NULL pointer dereference, address: 0000000000000018 RIP: 0010:fou_nl_add_doit (net/ipv4/fou_core.c:590 net/ipv4/fou_core.c:764) [...] Call Trace: <TASK> genl_family_rcv_msg_doit.constprop.0 (net/netlink/genetlink.c:1114) genl_rcv_msg (net/netlink/genetlink.c:1194 net/netlink/genetlink.c:1209) [...] netlink_rcv_skb (net/netlink/af_netlink.c:2550) genl_rcv (net/netlink/genetlink.c:1219) netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) netlink_sendmsg (net/netlink/af_netlink.c:1894) __sock_sendmsg (net/socket.c:727 (discriminator 1) net/socket.c:742 (discriminator 1)) __sys_sendto (./include/linux/file.h:62 (discriminator 1) ./include/linux/file.h:83 (discriminator 1) net/socket.c:2183 (discriminator 1)) __x64_sys_sendto (net/socket.c:2213 (discriminator 1) net/socket.c:2209 (discriminator 1) net/socket.c:2209 (discriminator 1)) do_syscall_64 (arch/x86/entry/syscall_64.c:63 (discriminator 1) arch/x86/entry/syscall_64.c:94 (discriminator 1)) entry_SYSCALL_64_after_hwframe (net/arch/x86/entry/entry_64.S:130) This patch makes udp_sock_create6 return -EPFNOSUPPORT instead, so callers correctly take their error paths. There is only one caller of the vulnerable function and only privileged users can trigger it.