Ad

CVE-2026-89564

HIGH CVSS 3.1: 7,8 EPSS 0.14%
Обновлено 21 сентября 2026
Linux
Параметр Значение
CVSS 7,8 (HIGH)
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: ip: потерянные предварительно выбранные skbs перед многоадресной пересылкой Входные данные IPv4 и IPv6 сохраняют связь skb->sk, установленную bpf_sk_assign(), чтобы локальная доставка могла использовать выбранный сокет в разделе РКУ. Оба семейства адресов также могут предварительно выбирать сокет в раннем демультиплексировании UDP. В обоих путях (BPF и ранний демультиплексирование UDP) не гарантируется, что ссылка будет держаться на розетке.

Если многоадресный пакет не доставляется локально, IPv6 передает исходный skb для ip6_mr_input(). Функция ip_mr_input() IPv4 аналогичным образом сохраняет оригинальный скб, когда местная доставка не нужна. Любой путь может положить skb в очереди неразрешенного многоадресного маршрута или переслать его после Секция RCU принимающей стороны заканчивается.

После того, как предварительно загруженный сокет уничтожен, более поздний skb free вызывает sock_pfree() и разыменовывает устаревший skb->sk. Сирота скб раньше каждый нелокальный путь многоадресной пересылки. Местная доставка сохраняет оригинальный скб; существующие вызовы skb_clone() обеспечивают многоадресную пересылку с клоном без сокетов.

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

In the Linux kernel, the following vulnerability has been resolved: ip: orphan prefetched skbs before multicast forwarding IPv4 and IPv6 input preserve an skb->sk association installed by bpf_sk_assign() so that local delivery can use the selected socket under RCU. Both address families can also prefetch a socket in UDP early demux. In both paths (BPF and UDP early demux) a reference is not guaranteed to be held on the socket. When a multicast packet is not locally deliverable, IPv6 hands the original skb to ip6_mr_input(). IPv4's ip_mr_input() similarly keeps the original skb when local delivery is not needed. Either path can put the skb on an unresolved multicast route queue or forward it after the receive-side RCU section ends. After the prefetched socket is destroyed, a later skb free invokes sock_pfree() and dereferences the stale skb->sk. Orphan the skb before each non-local multicast forwarding path. Local delivery retains the original skb; the existing skb_clone() calls provide multicast forwarding with a socket-free clone.

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1