CVE-2026-72491 в Debian: гонка в 9p RDMA, уязвимые версии и защита

CVE: CVE-2026-72491
Продукт: Debian
Дата публикации: 15.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,72%; процентиль 51,12%
CISA KEV: нет подтверждения в каталоге CISA KEV

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


В ядре Linux для Debian обнаружена критическая уязвимость в модуле 9p (trans_rdma.c), связанная с нарушением синхронизации при изменении состояния RDMA-соединений. Ошибка позволяет нарушить целостность конечного автомата и вызвать use-after-free. Статья описывает механизм атаки, затронутые версии пакетов linux и порядок применения исправлений.

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


Уязвимость представляет собой гонку (race condition) в ядре Linux, затрагивающую реализацию протокола 9p с использованием RDMA. Ошибка нарушает правила блокировки при изменении состояния соединения, что может привести к повреждению памяти и потере целостности данных.

  • Тип ошибки: Race condition (гонка состояний) в trans_rdma.c.
  • CVSS 3.1: 9.8 (CRITICAL). Вектор: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
  • Условия атаки: Сеть (Network), низкая сложность, отсутствие необходимости в привилегиях и взаимодействии пользователя.
  • Эксплуатация: В каталоге CISA KEV подтверждений о массовой эксплуатации не зафиксировано.
  • EPSS: 0,72% (процентиль 51,12%). Вероятность эксплуатации в ближайшие 30 дней оценивается как низкая.

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


Уязвимость затрагивает пакет linux в дистрибутивах Debian. Все перечисленные ниже версии содержат ошибку до момента выпуска соответствующих обновлений безопасности.

  • Debian 12 (bookworm): Уязвима версия 6.1.176-1. Исправление доступно в 6.1.180-1 (репозиторий bookworm-security).
  • Debian 11 (bullseye): Уязвима версия 5.10.223-1. Исправление доступно в 5.10.262-1 (репозиторий bullseye-security).
  • Debian 13 (trixie): Уязвима версия 6.12.94-1. Исправление доступно в 6.12.107-1 (репозиторий trixie-security).
  • Debian (forky): Уязвима версия 7.1.8-2. Исправление доступно в 7.1.5-1.
  • Debian (sid/unstable): Уязвима версия 7.1.12-1. Исправление доступно в 7.1.5-1.

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


Причина уязвимости кроется в некорректной синхронизации доступа к полю rdma->state в файле net/9p/trans_rdma.c. Функция rdma_request() использует спинлок req_lock для защиты операций чтения и записи состояния, однако другие функции изменяют это поле без блокировки.

Функция recv_done(), работающая в контексте softirq, устанавливает состояние P9_RDMA_FLUSHING без захвата req_lock. Аналогично, обработчик событий p9_cm_event_handler() изменяет состояние (например, ADDR_RESOLVED, ESTABLISHED, CLOSED) без использования блокировки.

Такой подход нарушает атомарность операций. Когда recv_done() или обработчик событий одновременно с rdma_request() пытаются изменить состояние, происходит потеря переходов (lost state transitions). Например, переход в состояние FLUSHING может быть случайно перезаписан переходом в CLOSING, что приводит к рассинхронизации конечного автомата соединения.

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


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

Когда rdma_request() проверяет или изменяет состояние под защитой req_lock, а recv_done() или p9_cm_event_handler() одновременно записывают новое состояние без блокировки, возникает конфликт. Ядро может зафиксировать некорректное состояние соединения, которое не соответствует фактическому статусу RDMA-запросов.

Повреждение конечного автомата приводит к тому, что ядро начинает обрабатывать объекты, которые уже были освобождены или находятся в невалидном состоянии. Это вызывает use-after-free на объектах RDMA-запросов в процессе разрыва соединения (teardown). Последствием может стать отказ в обслуживании (DoS) или выполнение кода в контексте ядра.

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


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

  • Сетевой доступ: Возможность устанавливать соединения с целевой системой, использующей протокол 9p с RDMA.
  • Активный модуль: В ядре должна быть загружена и активна подсистема net/9p с поддержкой RDMA.
  • Точное время: Атакующему необходимо спровоцировать одновременное выполнение конфликтующих функций (rdma_request и recv_done/p9_cm_event_handler).
  • Отсутствие исправлений: Система должна работать на уязвимой версии ядра, не содержащей патч, добавляющий блокировку req_lock.

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


Сценарий атаки начинается с установления RDMA-соединения через протокол 9p. Атакующий направляет серию запросов, которые заставляют ядро обрабатывать завершение передачи данных и события управления соединением одновременно.

В момент, когда recv_done() пытается перевести соединение в состояние FLUSHING, атакующий инициирует событие, обрабатываемое p9_cm_event_handler(). Из-за отсутствия блокировки эти операции пересекаются во времени. rdma_request() может прочитать промежуточное, некорректное значение состояния.

В результате конечный автомат соединения переходит в невалидное состояние. При последующем разрыве соединения ядро пытается освободить ресурсы, которые уже были освобождены или находятся в поврежденном состоянии. Это приводит к use-after-free и потенциальному падению ядра или выполнению кода атакующего.

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


На момент публикации данных в каталоге CISA KEV подтверждений о массовой эксплуатации CVE-2026-72491 в реальных атаках не зафиксировано. Публичные PoC-коды или готовые эксплойты в открытых базах данных также не обнаружены.

Отсутствие сведений о публичном эксплойте не означает, что уязвимость не может быть использована. Механизм атаки описан в описании CVE, что позволяет атакующим с доступом к исходному коду ядра разработать собственный эксплойт. EPSS оценивает вероятность эксплуатации в 0,72%, что указывает на низкий, но ненулевой риск.

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


Специфичные индикаторы компрометации (IOC) для CVE-2026-72491 в доступных источниках не раскрыты. Поскольку уязвимость находится в ядре, её эксплуатация может не оставлять характерных следов в пользовательских журналах.

Для мониторинга следует использовать неспецифичные точки контроля:

  • Журналы ядра: Поиск записей kernel panic, use-after-free или BUG: KASAN в dmesg и /var/log/kern.log.
  • Сетевая активность: Аномальные обрывы соединений 9p или RDMA-сессии, которые не объясняются проблемами сети.
  • Системные сбои: Внезапные перезагрузки или зависания системы при нагрузке на файловую систему 9p.

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


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

  • Анализ журналов ядра: Настройка алертов на сообщения об ошибках памяти (memory corruption) и use-after-free в подсистеме net/9p.
  • Мониторинг производительности: Отслеживание аномальных задержек или отказов в работе сервисов, использующих 9p RDMA.
  • Сетевые логи: Анализ логов сетевого оборудования на предмет аномальных паттернов установления и разрыва RDMA-соединений.

Для точной детекции необходимо внедрить механизмы мониторинга ядра (например, eBPF), способные отслеживать изменения состояния RDMA-соединений в реальном времени.

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


Для проверки текущей версии пакета linux и наличия исправлений в Debian используйте следующие команды. Замените <имя-пакета> на фактическое имя пакета ядра (например, linux-image-amd64), если оно отличается.

Bash:
cat /etc/debian_version
cat /etc/os-release
apt-cache policy <имя-пакета>
dpkg-query -W -f='${Package} ${Version}\n' <имя-пакета>

Сравните полученную версию с версиями, указанными в разделе «Какие продукты и версии затронуты». Если версия ниже исправленной, система уязвима.

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


Единственным надежным способом устранения уязвимости является обновление пакета linux до версий, содержащих исправление. Debian Security Tracker подтверждает, что все перечисленные релизы получили патчи.

  • Debian 12 (bookworm): Обновите до версии 6.1.180-1 из репозитория bookworm-security.
  • Debian 11 (bullseye): Обновите до версии 5.10.262-1 из репозитория bullseye-security.
  • Debian 13 (trixie): Обновите до версии 6.12.107-1 из репозитория trixie-security.
  • Debian (forky/sid): Обновите до версии 7.1.5-1.

Для применения обновлений выполните стандартные команды обновления пакетов в вашей системе. После обновления перезагрузите систему для загрузки нового ядра.

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


Пока обновление не применено, можно снизить риск эксплуатации, ограничив доступ к уязвимой подсистеме:

  • Отключение 9p RDMA: Если протокол 9p с RDMA не используется, отключите соответствующие модули ядра или сервисы, которые его задействуют.
  • Сетевая изоляция: Ограничьте сетевой доступ к портам, используемым 9p RDMA, с помощью файрвола. Разрешите соединения только от доверенных хостов.
  • Мониторинг: Усиленный мониторинг журналов ядра на предмет аномалий в работе подсистемы 9p.

Эти меры не устраняют уязвимость, но снижают вероятность её эксплуатации.

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


После обновления пакета linux необходимо убедиться, что система работает на исправленной версии ядра. Выполните следующие шаги:

  1. Перезагрузите систему, чтобы загрузить новое ядро.
  2. Проверьте версию загруженного ядра:

    Bash:
    uname -r
  3. Убедитесь, что версия соответствует или превышает исправленную версию для вашего релиза Debian (см. раздел «Исправление»).
  4. Проверьте, что модуль trans_rdma загружен и работает корректно, если он используется.

Если версия ядра не изменилась после перезагрузки, проверьте настройки загрузчика (GRUB) и убедитесь, что он указывает на новое ядро.

Вывод​


CVE-2026-72491 представляет собой критическую уязвимость в ядре Linux, затрагивающую реализацию 9p RDMA. Ошибка связана с нарушением синхронизации при изменении состояния соединения, что может привести к use-after-free и выполнению кода в контексте ядра.

Все актуальные релизы Debian получили исправления. Администраторам необходимо срочно обновить пакет linux до версий, указанных в Debian Security Tracker. До применения патча рекомендуется ограничить сетевой доступ к подсистеме 9p RDMA и усилить мониторинг журналов ядра.

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


  1. NVD — CVE-2026-72491
  2. Debian Security Tracker — CVE-2026-72491
  3. FIRST EPSS — CVE-2026-72491

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


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