CVE-2026-14697 in ZephyrИнформация

Сводка

по VulDB • 31.08.2026

В функции `net_ipv6_send_ns()` в файле `subsys/net/ip/ipv6_nbr.c` выделяется сетевой пакет (`net_pkt`) для передачи Neighbor Solicitation (запроса соседа). При вызове этой функции с ожидающим отправкой данным, привязанным к нераспознанному соседу, и при условии, что очередь ожидания (`pending_queue`) этого уже непустая (т.е. запрос NS уже находится в процессе отправки), функция добавляет пакет данных и преждевременно завершает работу, никогда не отправляя NS через `net_send_data()` и не освобождая его с помощью `net_pkt_unref()`. Только что выделенный сетевой пакет для NS и прикрепленные к нему буферы передачи (TX) удерживаются только локальной переменной и постоянно утекают, никогда не возвращаясь в пул ресурсов, ограниченный параметрами конфигурации `CONFIG_NET_PKT_TX_COUNT` / `CONFIG_NET_BUF_TX_COUNT`.

Утечка происходит на стандартном пути отправки IPv6: функция `net_ipv6_prepare_for_send()` (вызываемая из `net_if.c`) вызывает `net_ipv6_send_ns()` для любого исходящего или пересылаемого пакета IPv6, следующий узел назначения которого еще не записан в кэше соседей. Атакующий, находящийся в той же подсети (on-link), может детерминировано спровоцировать эту ситуацию, отправив пакетную атаку запросов (например, ICMPv6 echo requests или UDP-датаграммы), все из которых имеют поддельный исходный адрес несуществующего узла в локальной сети: узел генерирует ответ на каждый; первый ответ ставит NS в очередь ожидания, а каждый последующий ответ в течение примерно трехсекундного окна разрешения состояния INCOMPLETE проходит по ветке утечки и приводит к потере одного TX-пакета. Узлы с настроенной функцией маршрутизатора, пересылающие трафик атакующего к несуществующему узлу в локальной сети, также подвержены аналогичным утечкам.

Поскольку утекающие пакеты никогда не освобождаются, а значение `CONFIG_NET_PKT_TX_COUNT` по умолчанию равно всего 4 (14 для Ethernet), кратковременная атака с низкой интенсивностью истощает пул TX-пакетов. После его исчерпания узел больше не может выделять пакеты для передачи и не способен отправлять TCP/UDP, ARP/ND или любые ответы вообще, что приводит к полному и устойчивому отказу в обслуживании сети (DoS), который не восстанавливается самостоятельно до перезагрузки системы. Исправление заключается в освобождении неотправленного пакета NS с помощью `net_pkt_unref(pkt)` перед преждевременным выходом из функции.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Ответственный

Zephyr

Резервировать

04.07.2026

Раскрытие

31.08.2026

Модерация

принято

Вход

VDB-397427

EPSS

0.00000

KEV

Нет

Деятельности

Средний

Источники

Interested in the pricing of exploits?

See the underground prices here!