CVE-2026-64564 в Linux Kernel: критическая уязвимость в обработке ASCONF в SCTP

CVE: CVE-2026-64564
Продукт: Linux Kernel
Дата публикации: 04.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 1,48%; процентиль 72,03%
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В модуле SCTP ядра Linux обнаружен дефект, позволяющий удалённому атакующему вызвать обращение к освобождённой памяти (Use-After-Free) через специально сформированный пакет ASCONF. Ошибка приводит к повреждению состояния ассоциаций и потенциальному выполнению кода в пространстве ядра. Исправление уже включено в основную ветку и стабильные релизы ядра.

Основные характеристики​


Уязвимость позволяет нарушителю удалённо повредить внутреннее состояние сетевого стека ядра, что может привести к отказу в обслуживании или выполнению кода с привилегиями ядра. Риск классифицируется как критический, так как для атаки не требуется аутентификация, а воздействие затрагивает все три компонента CIA (конфиденциальность, целостность, доступность).

  • Тип ошибки: Use-After-Free в модуле обработки SCTP.
  • CVSS v3.1: 9.8 (CRITICAL). Вектор: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
  • Условия атаки: Сетевой доступ, низкая сложность, отсутствие требований к привилегиям и взаимодействию с пользователем.
  • Статус эксплуатации: В каталоге CISA KEV уязвимость не подтверждена. Публичные PoC и техническое описание доступны, подтверждённая эксплуатация в реальных атаках не зафиксирована.
  • EPSS: 1,48% (процентиль 72,03%). Показатель отражает вероятность эксплуатации в ближайшие 30 дней.

Какие продукты и версии затронуты​


Уязвимость затрагивает реализации протокола SCTP в ядре Linux. Точный список уязвимых версий и конкретных дистрибутивов в переданных источниках не раскрыт, однако патч был принят в основную ветку и стабильные релизы.

  • Основная ветка (mainline): Коммит 9b2854f86f0b56e9027d68e7a3fc909d1a9b566f (23.07.2026).
  • Стабильные ветки (stable): Патч портирован в несколько веток, включая коммиты 2b324ba3494ae958cba16a453e3e71489b4de7fc, 74e8f3e7114f0e26d1b2c4c048044db9fcc27603 и другие (август 2026).

Для определения, затронута ли конкретная система, необходимо сверить версию ядра с официальными релизными заметками вашего дистрибутива Linux.

Причина уязвимости​


Причина дефекта кроется в некорректном управлении жизненным циклом объекта transport при обработке чанков ASCONF в протоколе SCTP.

Функция sctp_process_asconf() кэширует указатель на транспорт в структуре asconf->transport. Этот указатель устанавливается один раз при приёме пакета и соответствует адресу из Address Parameter, который может отличаться от исходного адреса пакета.

При обработке параметра DEL-IP функция sctp_process_asconf_param() проверяет, не является ли целевой адрес исходным адресом пакета (защита D8). Однако аналогичная проверка для asconf->transport отсутствует. Это позволяет атакующему освободить память, на которую указывает asconf->transport, оставив валидный, но висящий (dangling) указатель в структуре ассоциации.

Как работает атака​


Атакующий отправляет один пакет SCTP, содержащий чанк ASCONF с последовательностью параметров: Address Parameter (L), DEL-IP (L) и DEL-IP (0.0.0.0), где L — адрес, отличный от исходного.

Первый DEL-IP проходит проверку D8 и вызывает sctp_assoc_rm_peer(), который освобождает транспорт, на который указывает asconf->transport (с отложенным освобождением через RCU).

Следующий wildcard DEL-IP (0.0.0.0) использует висящий указатель asconf->transport в функциях 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 и указателями на освобождённую память. Это приводит к повреждению состояния ядра.

Условия успешной эксплуатации​


Для успешной эксплуатации уязвимости атакующему необходимо выполнить следующие условия:

  • Сетевой доступ: Возможность отправлять SCTP-пакеты на целевой хост.
  • Отсутствие аутентификации: Уязвимость эксплуатируется до этапа аутентификации, поэтому учётные данные не требуются.
  • Поддержка SCTP: Целевая система должна иметь активный сетевой стек, обрабатывающий протокол SCTP.
  • Контроль над адресами: Атакующий должен иметь возможность сформировать пакет с Address Parameter, отличным от исходного IP-адреса.

Возможный сценарий атаки​


Сценарий атаки начинается с отправки специально сформированного SCTP-пакета на целевой хост. Пакет содержит чанк ASCONF с параметрами, описанными в разделе механики.

Ядро обрабатывает параметры последовательно. Первый DEL-IP освобождает транспорт, связанный с asconf->transport. Второй DEL-IP (wildcard) вызывает обращение к освобождённой памяти.

В результате состояние ассоциации SCTP повреждается: указатели primary_path и active_path становятся висящими, а transport_count обнуляется. Дальнейшее использование этой ассоциации может привести к падению ядра (kernel panic) или выполнению кода с привилегиями ядра.

Есть ли публичный эксплойт​


Публичные материалы по CVE-2026-64564 включают техническое описание уязвимости и патчи в репозитории ядра Linux. В источниках упоминается PoC (Proof of Concept), однако подтверждённая эксплуатация в реальных атаках (in-the-wild exploitation) не зафиксирована.

Отсутствие сведений о массовом использовании не означает, что эксплойт недоступен. Учитывая критический уровень CVSS и простоту формирования пакета, вероятность создания рабочего эксплойта высока. Рекомендуется рассматривать уязвимость как активно эксплуатируемую, даже если она отсутствует в каталоге CISA KEV.

Признаки эксплуатации​


Специфичные индикаторы компрометации (IOC) для CVE-2026-64564 в переданных источниках не раскрыты. Ниже приведены неспецифичные точки контроля, которые могут указывать на атаки на сетевой стек:

  • Аномальный трафик SCTP: Резкое увеличение количества SCTP-пакетов с параметрами ASCONF/DEL-IP.
  • Сбои в работе ядра: Записи в dmesg или системных журналах о kernel panic, segfault или use-after-free в модуле net/sctp.
  • Аномалии в ассоциациях SCTP: Непредсказуемое поведение приложений, использующих SCTP, или их внезапное завершение.

Как обнаружить атаку​


Обнаружение атаки на уязвимость в ядре затруднено из-за отсутствия специфичных сигнатур. Рекомендуется использовать следующие методы:

  • Мониторинг журналов: Анализ dmesg и /var/log/kern.log на наличие ошибок, связанных с модулем SCTP или освобождением памяти.
  • Сетевой анализ: Использование IDS/IPS для отслеживания аномальных SCTP-пакетов, содержащих последовательность параметров Address Parameter и DEL-IP.
  • Проверка целостности ядра: Использование инструментов типа auditd или eBPF для отслеживания аномального поведения в пространстве ядра.

Как проверить свою версию​


Для проверки версии ядра и определения необходимости обновления используйте следующие команды. Они безопасны и не изменяют состояние системы:

Bash:
uname -r
uname -a
cat /proc/version

Сравните полученную версию с официальными релизными заметками вашего дистрибутива Linux, чтобы убедиться, что патч 9b2854f86f0b56e9027d68e7a3fc909d1a9b566f или его порты в стабильные ветки уже включены в вашу сборку.

Исправление​


Единственным надёжным способом устранения уязвимости является обновление ядра Linux до версии, содержащей исправление.

  • Основная ветка: Обновитесь до ядра, включающего коммит 9b2854f86f0b56e9027d68e7a3fc909d1a9b566f.
  • Стабильные ветки: Используйте патчи, портированные в стабильные релизы (например, 2b324ba3494ae958cba16a453e3e71489b4de7fc, 74e8f3e7114f0e26d1b2c4c048044db9fcc27603).

Обновление должно быть выполнено через официальные репозитории вашего дистрибутива. После обновления требуется перезагрузка системы для применения нового ядра.

Временные меры защиты​


Пока обновление ядра не выполнено, можно применить следующие временные меры:

  • Ограничение доступа к SCTP: Если протокол SCTP не используется, отключите его в сетевом стеке или заблокируйте трафик на уровне файрвола.
  • Изоляция хостов: Ограничьте сетевой доступ к критическим серверам, особенно если они принимают SCTP-трафик из недоверенных источников.
  • Мониторинг: Усиленный мониторинг сетевых журналов и журналов ядра на предмет аномальной активности.

Эти меры снижают риск, но не устраняют уязвимость полностью. Обновление ядра остаётся приоритетной задачей.

Как проверить устранение уязвимости​


После обновления ядра проверьте, что исправление применено:

  1. Перезагрузите систему.
  2. Выполните команду uname -r и убедитесь, что версия ядра соответствует обновлённой.
  3. Проверьте наличие патча в исходном коде ядра (если доступно): grep -r "9b2854f86f0b56e9027d68e7a3fc909d1a9b566f" /usr/src/linux/.
  4. Проведите функциональное тестирование сетевых сервисов, использующих SCTP, для подтверждения их работоспособности.

Вывод​


CVE-2026-64564 представляет собой критическую угрозу для систем, использующих протокол SCTP. Уязвимость позволяет удалённому атакующему повредить состояние ядра без аутентификации.

Исправление уже доступно в официальных репозиториях ядра Linux. Администраторам необходимо срочно обновить ядро, проверить его версию и применить временные меры защиты до завершения обновления.

Игнорирование этой уязвимости может привести к компрометации системы или отказу в обслуживании.

Официальные источники​


  1. NVD — CVE-2026-64564
  2. FIRST EPSS — CVE-2026-64564
  3. sctp: don't free the ASCONF's own transport in DEL-IP processing - kernel/git/stable/linux.git - Linux kernel stable tree
  4. sctp: don't free the ASCONF's own transport in DEL-IP processing - kernel/git/stable/linux.git - Linux kernel stable tree
  5. sctp: don't free the ASCONF's own transport in DEL-IP processing - kernel/git/stable/linux.git - Linux kernel stable tree
  6. sctp: don't free the ASCONF's own transport in DEL-IP processing - kernel/git/stable/linux.git - Linux kernel stable tree
  7. sctp: don't free the ASCONF's own transport in DEL-IP processing - kernel/git/stable/linux.git - Linux kernel stable tree
  8. sctp: don't free the ASCONF's own transport in DEL-IP processing - kernel/git/stable/linux.git - Linux kernel stable tree
  9. sctp: don't free the ASCONF's own transport in DEL-IP processing - kernel/git/stable/linux.git - Linux kernel stable tree
  10. sctp: don't free the ASCONF's own transport in DEL-IP processing - kernel/git/stable/linux.git - Linux kernel stable tree

История обновлений статьи​


  • 09.08.2026 — Опубликована первая версия материала.
  • 27.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
 
Последнее редактирование:
Назад
Верх Низ