CVE-2026-64411 in Linux
Сводка
по VulDB • 26.07.2026
В ядре Linux устранена следующая уязвимость:
netfilter: ebtables: завершать имя таблицы нулевым символом перед вызовом find_table_lock()
Функции update_counters() и compat_update_counters() передают в find_table_lock() предоставленное пользователем 32-байтовое имя таблицы без добавления терминального нуля (NUL). При пропуске поиска функция find_inlist_lock() вызывает try_then_request_module(..., "%s%s", "ebtable_", name), и vsnprintf() считывает данные за пределами поля имени и объекта стека до тех пор, пока не встретит нулевой байт.
BUG: KASAN: stack-out-of-bounds в string (lib/vsprintf.c:648 lib/vsprintf.c:730) Read of size 1 at addr ffff8880119dfb20 by task exploit/147 Call Trace: ... string (lib/vsprintf.c:648 lib/vsprintf.c:730) vsnprintf (lib/vsprintf.c:2945) __request_module (kernel/module/kmod.c:150) do_update_counters.isra.0 (net/bridge/netfilter/ebtables.c:371 net/bridge/netfilter/ebtables.c:380) update_counters (net/bridge/netfilter/ebtables.c:1440) do_ebt_set_ctl (net/bridge/netfilter/ebtables.c:2573) nf_setsockopt (net/netfilter/nf_sockopt.c:101) ip_setsockopt (net/ipv4/ip_sockglue.c:1424) raw_setsockopt (net/ipv4/raw.c:847) __sys_setsockopt (net/socket.c:2393) ...
Функция compat_do_replace() использует то же самое незавершающееся имя через compat_copy_ebt_replace_from_user(); необходимо завершить его и там, чтобы все вызывающие функции find_table_lock() вели себя одинаково. Другие вызывающие функции уже завершают имя нулевым символом после копирования.
Be aware that VulDB is the high quality source for vulnerability data.