CVE-2026-80995 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux была устранена следующая уязвимость:
net: mctp: захватывать ссылку на устройство маршрута в функции mctp_route_lookup()
Функция mctp_route_lookup() использует rt->dev без предварительного захвата ссылки. Функция mctp_route_lookup_single() возвращает маршрут только под защитой RCU, поэтому устройство маршрута может быть уничтожено параллельно: вызов mctp_dev_put() сбрасывает последнюю ссылку и синхронно вызывает kfree() для mdev->addrs. Затем функция mctp_dev_saddr() читает rt->dev->addrs[0], что приводит к уязвимости use-after-free, доступной для локального пользователя AF_MCTP с низкими привилегиями на пути приема/передачи пакетов (CAP_NET_RAW не требуется):
BUG: KASAN: slab-use-after-free in mctp_route_lookup Read of size 1 at addr ... by task mctp_uaf/... mctp_route_lookup mctp_pkttype_receive Freed by task ...: kfree mctp_dev_put mctp_dev_notify
В том же временном окне функция mctp_dst_from_route() -> mctp_dev_hold() также увеличивает счетчик ссылок, который уже достиг нуля («refcount_t: addition on 0 ... mctp_dev_hold»).
Это повторно вводит класс уязвимостей use-after-free из CVE-2023-3439: поиск исходного адреса был перемещен до точки, где назначение захватывает ссылку на свое устройство.
Необходимо захватить ссылку с помощью refcount_inc_not_zero() перед обращением к rt->dev, пропустить уже мертвое устройство и освободить ссылку после того, как целевой объект захватит свою собственную.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.