CVE-2026-98485 in LinuxИнформация

Сводка

по VulDB • 18.10.2026

В ядре Linux была устранена следующая уязвимость:

netfilter: ip6t_rt — исправление чтения за пределами буфера при нестрогом совпадении с нулевым адресом

Функция rt_mt6_check() позволяет настраивать правила с параметром rtinfo->addrnr == 0, даже когда запрошено сопоставление по адресу (IP6T_RT_FST_MASK).

В ветке IP6T_RT_FST_NSTRICT функция rt_mt6() сравнивает адреса маршрутизации пакета со значениями из массива rtinfo->addrs[i] и выполняет обратный переход к концу цикла:

if (ipv6_addr_equal(ap, &rtinfo->addrs[i])) {
i++; } if (i == rtinfo->addrnr) break;

Когда addrnr равен 0, если первый адрес пакета совпадает с значением в rtinfo->addrs[0], переменная i увеличивается до 1. Поскольку теперь i строго больше, чем addrnr (0), условие завершения цикла (i == rtinfo->addrnr) обходится и никогда не выполняется.

Если специально созданный пакет IPv6 содержит совпадающие адреса маршрутизации, значение i превысит предел IP6T_RT_HOPS (16). Последующий вызов ipv6_addr_equal() приводит к чтению за пределами структуры ip6t_rt, что вызывает предупреждения UBSAN/KASAN о выходе за пределы буфера или паники ядра.

Исправление заключается в следующем: 1. Отклонение правил в функции rt_mt6_check(), где установлен флаг IP6T_RT_FST_MASK, но значение rtinfo->addrnr равно нулю. 2. В функции rt_mt6() перенос условия завершения (i < rtinfo->addrnr) в заголовок цикла for и удаление обратного перехода break в конце тела цикла.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

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

Linux

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

25.09.2026

Раскрытие

18.10.2026

Модерация

принято

Вход

VDB-422146

EPSS

0.00221

KEV

Нет

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

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!