CVE-2026-89565 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux была устранена следующая уязвимость:
ipip: исправлена утечка skb в режиме collect_md при сбое выделения памяти для metadata_dst
В режиме collect_md функция ipip_tunnel_rcv() возвращает 0, не освобождая skb, если ip_tun_rx_dst() не удается выделить память под metadata_dst. Функции ipip_rcv() и mplsip_rcv() зарегистрированы как обработчики xfrm_tunnel, поэтому tunnel4_rcv() и tunnelmpls4_rcv() воспринимают нулевой код возврата как сигнал о том, что пакет был потреблен (consumed), и также не освобождают его. В результате происходит утечка skb.
Все остальные драйверы туннелей в этой ситуации избавляются от пакета: ip6_tunnel.c переходит к метке drop, а ip_gre.c и ip6_gre.c возвращают PACKET_REJECT, что заставляет gre_rcv() освободить skb. Только ipip возвращает 0.
Необходимо перейти к существующей метке drop. Это приведет к освобождению skb и сохранению возврата значения 0, поэтому пакет по-прежнему будет сообщаться как потребленный, что является желаемым поведением в данном случае: внешний заголовок уже извлечен (pulled), и ни оставшиеся обработчики, ICMP unreachable не имеют необходимости в нем.
Для эксплуатации этой уязвимости требуется туннель ipip или mplsip в режиме collect_md и сбой атомарного выделения памяти, что объясняет, почему проблема долгое время оставалась незамеченной.
If you want to get best quality of vulnerability data, you may have to visit VulDB.