Ad

CVE-2026-64564

CRITICAL CVSS 3.1: 9,8 EPSS 0.48%
Обновлено 9 августа 2026
Linux
Параметр Значение
CVSS 9,8 (CRITICAL)
Уязвимые версии 2.6.25 — 7.2-rc5
Устранено в версии 6.6.148
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: sctp: не освобождать собственный транспорт ASCONF при обработке DEL-IP. sctp_process_asconf() кэширует транспорт, обрабатываемый фрагмент ASCONF. против в asconf->transport (== chunk->transport, устанавливается один раз в sctp_rcv()). Для ASCONF, расположенного через параметр адреса __sctp_rcv_asconf_lookup(), что кэшированный транспорт соответствует Параметр адреса, который не обязательно должен быть адресом источника пакета. sctp_process_asconf_param() отклоняет DEL-IP для адреса источника пакета. (ADDIP D8, SCTP_ERROR_DEL_SRC_IP), но ничто не защищает asconf->transport. Таким образом, один ASCONF может нести по порядку: [Параметр адреса L] [DEL-IP L] [DEL-IP 0.0.0.0] где L отличается от исходного.

DEL-IP для L проходит проверку D8 и вызывает sctp_assoc_rm_peer() на транспорте, который asconf->transport все еще указывает на, освобождая его (отложенный RCU). Затем следующий подстановочный знак DEL-IP повторно использует уже висящий транспорт asconf-> в sctp_assoc_set_primary() и sctp_assoc_del_nonprimary_peers(): set_primary() разыменовывает освобожденный транспорт (->ipaddr, ->state) и помещает висячий указатель в asoc->peer.primary_path/active_path и del_nonprimary_peers(), сохраняя только указатель, которого больше нет в списке, удаляет все реальные транспорт, оставив ассоциацию с Transport_count равным 0 и Primary_path/active_path указывает на освобожденную память. Отклонить DEL-IP, нацеленный на транспорт, который обрабатывается ASCONF. против, отражая существующую защиту адреса источника, поэтому подстановочный знак ветвь никогда не сможет повторно использовать освобожденный транспорт.

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: sctp: don't free the ASCONF's own transport in DEL-IP processing sctp_process_asconf() caches the transport the ASCONF chunk is processed against in asconf->transport (== chunk->transport, set once in sctp_rcv()). For an ASCONF located through its Address Parameter by __sctp_rcv_asconf_lookup(), that cached transport corresponds to the Address Parameter, which need not be the packet's source address. sctp_process_asconf_param() rejects a DEL-IP for the packet source address (ADDIP D8, SCTP_ERROR_DEL_SRC_IP), but nothing protects asconf->transport. A single ASCONF can therefore carry, in order: [Address Parameter L] [DEL-IP L] [DEL-IP 0.0.0.0] where L differs from the source. The DEL-IP for L passes the D8 check and calls sctp_assoc_rm_peer() on the transport that asconf->transport still points at, freeing it (RCU-deferred). The following wildcard DEL-IP then reuses the now-dangling asconf->transport in sctp_assoc_set_primary() and sctp_assoc_del_nonprimary_peers(): set_primary() dereferences the freed transport (->ipaddr, ->state) and plants the dangling pointer into asoc->peer.primary_path / active_path, and del_nonprimary_peers(), keeping only the pointer that is no longer on the list, removes every real transport, leaving the association with a transport_count of 0 and primary_path/active_path pointing at freed memory. Reject a DEL-IP that targets the transport the ASCONF is being processed against, mirroring the existing source-address guard, so the wildcard branch can never reuse a freed transport.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Уязвимые продукты 5

Конфигурация От (включительно) До (исключительно)
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
2.6.25 6.6.148
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
2.6.25 6.12.101
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
2.6.25 6.18.42
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
2.6.25 7.1.6
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
2.6.25 7.2-rc5