CVE-2026-74586
sctp: удаление нового транспорта при удалении пира
- Опубликовано
- 22 авг. 2026 г.
- Обновлено
- 25 авг. 2026 г.
- Назначение CNA
- Linux
- Наблюдены доказательства
- 9 сент. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HНизкий · следующие 30 дней
- Процентиль
- 41,7 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
В ядре Linux устранена следующая уязвимость: sctp: очищать new_transport при удалении пира. Функция sctp_process_asconf_param() сохраняет недавно добавленный транспорт пира в asoc->new_transport. После обработки всех параметров в chunk ASCONF функция sctp_sf_do_asconf() использует этот указатель для отправки HEARTBEAT новому транспорту. Аутентифицированный ASCONF от удалённого SCTP-пира может добавить транспорт и снова удалить его с помощью параметра DEL-IP с подстановочным знаком в том же chunk. Удаление с подстановочным знаком сохраняет транспорт, на котором прибыл ASCONF, но удаляет недавно добавленный транспорт через sctp_assoc_del_nonprimary_peers(). При удалении asoc->new_transport не очищается, и он продолжает указывать на удалённый транспорт. Затем sctp_sf_do_asconf() создаёт HEARTBEAT, chunk->transport которого указывает на удалённый транспорт без удержания ссылки на транспорт. Во время замены локального адреса src_out_of_asoc_ok удерживает этот HEARTBEAT в control_chunk_list. После освобождения транспорта через RCU успешный ASCONF_ACK для заменяющего адреса освобождает поставленный в очередь HEARTBEAT, и sctp_outq_select_transport() считывает состояние освобождённого транспорта. Проблема была обнаружена в ходе статического аудита объектов SCTP. С аутентифицированным пиром репроducer вызвал тот же отчёт KASAN в 2 из 2 запусков без патча на ядре netdev/main с включённым KASAN: BUG: KASAN: slab-use-after-free в sctp_outq_select_transport Чтение размером 4 по адресу ffff88800b9bd95c задачей python3/197 Call Trace: sctp_outq_select_transport+0x549/0x8b0 [sctp] sctp_outq_flush+0x306/0x2c60 [sctp] sctp_transport_immediate_rtx+0xaf/0x260 [sctp] sctp_process_asconf_ack+0xa48/0xf70 [sctp] Выделено задачей 197: sctp_transport_new+0x68/0x650 [sctp] sctp_assoc_add_peer+0x258/0x12a0 [sctp] sctp_process_asconf+0x5e9/0x1090 [sctp] Последняя потенциально связанная работа по созданию: __call_rcu_common.constprop.0+0x77/0xb70 sctp_assoc_del_nonprimary_peers+0x7c/0xd0 [sctp] sctp_process_asconf+0xd9c/0x1090 [sctp] Первый недопустимый доступ представлял собой четырёхбайтовое чтение transport->state в net/sctp/outqueue.c:833. Тот же репроducer завершил полную последовательность аутентифицированного ASCONF и замены локального адреса с этим изменением без отчёта KASAN или oops. Очищайте new_transport при удалении его пира, прежде чем он сможет быть использован для создания HEARTBEAT.
Источники
1Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.