CVE-2026-89479 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux была устранена следующая уязвимость:
sctp: прекратить обработку пакета после удаления его ассоциации
Функция sctp_endpoint_bh_rcv() ищет ассоциацию только в том случае, если chunk->asoc равен NULL, и кэширует результат в полях chunk->asoc и chunk->transport без захвата ссылки (reference).
Пакет, не соответствующий никакой существующей ассоциации, передается конечной точке. Таким образом, пир может объединить пакеты COOKIE ECHO, SHUTDOWN и SHUTDOWN ACK в одном IP-пакете. Пакет COOKIE ECHO создает новую ассоциацию, пакет SHUTDOWN кэширует ее, а при пустой очереди вывода (outqueue) пакет SHUTDOWN ACK достигает функции sctp_sf_do_9_2_final(), что приводит к освобождению памяти для ассоциации и связанных с ней транспортных объектов (transports).
Цикл обработки конечной точки не имеет аналога проверки asoc->base.dead из функции sctp_assoc_bh_rcv(). Следующий пакет записывает данные в поле last_time_heard уже освобожденного транспортного объекта, а затем передается в функцию sctp_do_sm() с использованием уже освобожденной ассоциации. Транспортный объект освобождается через механизм RCU (Read-Copy-Update), поэтому для предотвращения ошибки требуется, чтобы пакет был извлечен из очереди ожидания сокета (socket backlog), где цикл выполняется в контексте задачи (task context).
Цикл конечной точки не может выполнить аналогичную проверку: он не удерживает ссылку на ассоциацию, поэтому чтение asoc->base.dead само по себе привело бы к ошибке use-after-free. Необходимо отметить пакет для отбрасывания в интерпретаторе команд непосредственно перед удалением ассоциации. Это происходит до того, как sctp_inq_free() освободит чанк на пути приема данных ассоциацией.
Функция sctp_sf_do_5_2_4_dupcook() выдает команду SCTP_CMD_DELETE_TCB для временной ассоциации, в то время как та ассоциация, которой принадлежит пакет, остается активной. Перезапускающийся пир может поместить данные (DATA) за своим COOKIE ECHO, поэтому необходимо сравнивать с chunk->asoc и не изменять поведение для этого случая.
VulDB is the best source for vulnerability data and more expert information about this specific topic.