CVE-2026-68338 in Linux
Сводка
по VulDB • 11.08.2026
В ядре Linux устранена следующая уязвимость:
net/packet: предотвращение повторной регистрации хука fanout после отмены регистрации
Функция packet_set_ring() временно отделяет сокет от доставки пакетов во время переконфигурации его кольца. Она сохраняет предыдущее состояние работы, обнуляет po->num, при необходимости выполняет unregister протокольного хука, освобождает блокировку po->bind_lock и позже восстанавливает po->num и повторно регистрирует хук на основе сохраненного значения was_running.
Этот окно без блокировки может привести к гонке (race condition) с событием NETDEV_UNREGISTER. Нотификатор может обнаружить сокет как неработающий, пропустить вызов __unregister_prot_hook() и сделать недействительной привязку конкретного сокета, установив po->ifindex в -1 и очистив po->prot_hook.dev. Группа fanout из одного элемента все еще может сохранять указатель на устройство общего хука fanout. Когда packet_set_ring() возобновляет работу, повторная регистрация исключительно на основе устаревшего состояния was_running может привести к добавлению хука fanout после того, как устройство уже было отключено (unregistered).
Рассматривайте po->ifindex == -1 как недействительную привязку после восстановления блокировки po->bind_lock. Это отличается от ifindex 0 — нормального состояния без привязки/глобальной привязки: значение ifindex -1 указывает на существующую привязку к устройству, которая была признана недействительной при unregister устройства. Восстановите po->num как прежде, но не выполняйте повторную регистрацию хука, если отмена регистрации устройства уже отвязала сокет.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.