Побег через сокет

22 сентября компания DepthFirst раскрыла подробности CVE-2026-80521 — уязвимости use-after-free в подсистеме сокетов AF_UNIX ядра Linux. Ошибка с оценкой 7,8 по шкале CVSS позволяет выйти из контейнера и получить права root на хосте. Исследователи опубликовали код эксплойта для Ubuntu 26.04, хотя готового исправления для этой системы пока нет.
Побег через сокет
Изображение носит иллюстративный характер

Проблемный код появился в Linux 6.10, а затем попал в стабильные ветки 6.1 и 6.6. Разработчики ядра устранили ошибку 6 августа: исправление вошло в основную ветку 7.2 и стабильную версию 7.1.10. Организации могут применить этот патч напрямую, но Ubuntu до сих пор не выпустила обновления для Ubuntu 26.04, Ubuntu 24.04 LTS и Ubuntu 22.04 LTS. В трекере безопасности пакет Linux для версии 26.04 помечен как «уязвим, исправление в работе», а дата выхода обновления не названа.
Ubuntu 24.04 и 22.04 затронуты через новые пакеты ядра, включая сборки для AWS, Microsoft Azure и Google Cloud Platform (GCP). Ни один уязвимый выпуск Ubuntu пока не получил исправления. При этом CVE-2026-80521 отсутствует в каталоге известных эксплуатируемых уязвимостей CISA, подтверждённых атак также не зарегистрировано. Это снижает срочность расследования инцидентов, но не отменяет риск: рабочий эксплойт уже доступен публично.
Ошибка находится в сборщике мусора AF_UNIX, который очищает файловые дескрипторы, передаваемые между процессами в сообщениях SCM_RIGHTS. Из-за состояния гонки сборщик успевает увидеть новые ссылки раньше, чем содержащие их данные попадают в очередь. Если очистка начинается в этот короткий промежуток, часть связанной группы сокетов освобождается, однако указатель на уже удалённый объект остаётся в постоянном внутреннем списке. Дальнейшее обращение к нему создаёт условия для эксплуатации use-after-free.
AF_UNIX предназначены для локального межпроцессного обмена и по умолчанию разрешены профилями seccomp в Docker и Kubernetes. Поэтому атакующий может добраться до уязвимого механизма прямо из контейнера. Эксплойт использует обычные системные вызовы, разрешённые внутри такой среды, и в итоге обходит изоляцию пространств имён, ограничения cgroup и фильтрацию seccomp. Формально защитные слои остаются включёнными, но общий с хостом уязвимый kernel превращает их в препятствия, которые можно обойти.
Временного обходного решения не предложили ни DepthFirst, ни Ubuntu. DepthFirst советует переносить недоверенные нагрузки в изоляцию на базе микро-VM, например Firecracker или Kata Containers. Там каждая нагрузка получает собственное ядро, тогда как обычные контейнеры делят ядро хоста. До появления пакетов Ubuntu практический минимум — сверить версии ядер, ограничить запуск чужого кода и, где возможно, применить upstream-патч от 6 августа.
Уязвимость нашла модель DepthFirst dfs-large1, работавшая вместе с управляемым человеком испытательным стендом. 24 июля компания получила с этим эксплойтом слот Google kernelCTF, а 5 августа сообщила об ошибке команде безопасности ядра. Сопровождающие Linux ответили, что тот же дефект независимо обнаружил исследователь OpenAI. В коммите CVE автором сообщения указан специалист по эксплуатации ядра Кайл Зенг. Уже 6 августа исправление приняли upstream, а 22 сентября DepthFirst опубликовала исследование.
CVE-2026-80521 продолжила серию контейнерных побегов 2026 года. В июле раскрыли уязвимость futex, а в апреле — ошибку в криптографической подсистеме ядра. Обе позволяли непривилегированному пользователю покинуть контейнер и получить root на хосте; в обоих исследованиях применялся ИИ. Повторяемость таких находок меняет расчёт риска быстрее, чем успевают обновляться дистрибутивы.
DepthFirst формулирует угрозу жёстко: «Порог сложности побега из контейнеров посредством атаки на ядро снизился настолько значительно, что мы должны исходить из предположения: злоумышленники способны делать это по своему желанию». Компания считает, что контейнеры больше нельзя воспринимать как самостоятельную границу безопасности, особенно при запуске недоверенного кода на общем ядре.
По данным LinuxCVETracker, в 2026 году опубликовано почти 5700 CVE ядра Linux — это самый высокий годовой показатель за всю историю наблюдений. Предупреждение DepthFirst опирается сразу на рабочий побег из контейнера и растущий поток ошибок ядра. Для владельцев инфраструктуры главный вопрос теперь не в том, включены ли namespace, cgroup и seccomp, а в том, насколько быстро они способны закрыть уязвимость общего ядра или вовсе убрать его из модели совместного использования.


Новое на сайте

Ссылка