Ошибка использования освобожденной памяти в коде сетевого протокола SCTP ядра Linux может быть использована для получения полных привилегий администратора на хосте. Исследователи из компании Tencent заявляют, что им удалось использовать эту уязвимость для выхода из контейнера и доступа к основной машине. Данный дефект существует уже 18 лет, с 2008 года. Исправление уже распространяется: стабильные версии ядра 7.1.6, 6.18.42, 6.12.101 и 6.6.148, выпущенные 3 августа, закрывают брешь. Все пользователи, работающие со старыми версиями ядра с доступным SCTP, должны выполнить обновление.

Уязвимость получила идентификатор CVE-2026-64564 и названа SCTPhantom её авторами. Информация об ошибке была публично раскрыта 6 августа, спустя два дня после присвоения ей номера CVE командой разработчиков ядра. На момент публикации публичный код эксплуатации не появился, и не было записей об этой уязвимости в каталоге известных уязвимостей CISA на 7 августа. Уязвимость является локальной, не удаленной, и требует наличия доступного SCTP на целевой системе, что ограничивает масштаб её воздействия.

При наличии этих условий лаборатория Tencent Zhuque Lab сообщает о получении прав root на протестированных ей сборках ядра для Debian 13, Ubuntu 24.04, Rocky Linux 9, RHEL 9 и OpenCloudOS. SCTP — это транспортный протокол, позволяющий одному соединению работать одновременно по нескольким сетевым путям. Дополнительная функция динамической переконфигурации адресов позволяет одной стороне добавлять или удалять эти адреса во время активного соединения.

Дефект заключается в путанице с идентификацией: ядро проверяет запрос удаления по исходному адресу пакета, но действует на пути, выбранном с использованием другого адреса внутри сообщения. Согласно описанию ядра, одно сообщение может содержать адрес, команду удаления для этого же адреса и удаление по маске. Такая последовательность освобождает путь, а затем использует уже удалённый указатель, оставляя соединение указывающим на память, которая уже была освобождена ядром.

Исправление отклоняет запросы на удаление, направленные на путь, по которому обрабатывается сообщение. Уязвимость восходит к версии Linux 2.6.25 2008 года и присутствует во всех выпущенных с тех пор версиях ядра.

Утверждение компании Tencent о выходе из контейнера основано на собственном тестировании. В своём отчёте лаборатория указывает, что ранняя версия её эксплуата требовала включения параметров ядра net.sctp.addip_enable и net.sctp.addip_noauth_enable, что делало CAP_NET_ADMIN предварительным условием. Позже была найдена методика, оставляющая оба параметра неизменными путём включения функций для отдельного сокета. По словам лаборатории, в её тестах выхода из контейнера шесть из восьми попыток достигли прав root на хосте. Никто вне лаборатории не повторил эти результаты, и в отчёте не указана среда выполнения контейнеров, на которой проводилось тестирование.

Серьёзность уязвимости остаётся спорной. Tencent оценила её на 8.5 по шкале CVSS v4.0. На 7 августа NVD не присваивал ни оценку, ни классификацию слабости. Производители часто портируют исправления без перехода на новую версию основной ветки, поэтому только номер версии ядра не гарантирует защиту; проверьте трекер вашого дистрибутива.

Второе использование после освобождения в том же коде было исправлено 6 августа, после выпуска стабильных версий 3 августа, поэтому эти версии ядра его не содержат. Если SCTP не требуется, блокировка модуля полностью устраняет поверхность атаки.