Обработка RDMA-соединений в подсистеме 9p ядра Linux позволяет удалённо влиять на данные и доступность системы

vulnerability

В ядре Linux обнаружили уязвимость в подсистеме 9p, которая отвечает за доступ к файлам по сети. Ошибка кроется в обработке RDMA-соединений. Удалённый злоумышленник может воздействовать на конфиденциальность, целостность и доступность защищаемой информации, то есть читать данные, изменять их и нарушать работу системы. Проблема касается как самого ядра, так и дистрибутивов на его основе. В перечень затронутых продуктов попали Ubuntu, Debian GNU/Linux и РЕД ОС. Уязвимость внесена в Банк данных угроз безопасности информации под номером BDU:2026-16196, ей присвоен идентификатор CVE-2026-72491.

Детали уязвимости

Подсистема 9p реализует протокол сетевого доступа к файлам, который изначально появился в операционной системе Plan 9. Сегодня он чаще всего работает в виртуализации. Гипервизор через такой механизм отдаёт каталоги хост-системы внутрь виртуальной машины. Наряду с этим протокол встречается в инструментах для контейнеров и в решениях для удалённого хранения. Один из вариантов транспорта для него - RDMA, то есть удалённый прямой доступ к памяти. Эта технология позволяет узлам обмениваться данными, почти не нагружая центральный процессор. Поэтому её применяют в вычислительных кластерах и системах хранения, где важна скорость обмена между машинами. Уязвимость затрагивает именно обработку событий RDMA-транспорта.

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

Оценка опасности высокая. По шкале CVSS 3.1 уязвимость получила 9,8 балла из 10, по устаревшей CVSS 2.0 - максимальные 10 баллов. Атака возможна по сети, не требует пароля и не ждёт действий пользователя. Сложность эксплуатации низкая, привилегии на целевой системе заранее не нужны. Из-за этого проблему относят к критическому уровню опасности. При этом высокая оценка отражает потенциальный ущерб в случае успешной атаки, а не подтверждённую практику её применения.

Круг потенциальных жертв широк. Уязвимы серверы и рабочие станции на Ubuntu и Debian, а также инсталляции РЕД ОС. В самом ядре проблема присутствует в ветках от 4.20 до 7.1.5, то есть почти во всех поддерживаемых выпусках последних лет. Больше других рискуют инфраструктуры виртуализации: облачные платформы, испытательные стенды, вычислительные кластеры и системы, где виртуальные машины обмениваются файлами с хостом. Теоретически такая ошибка позволяет нарушить границу между гостевой системой и гипервизором. Для компаний это означает риск утечки данных и простоя сервисов, для операторов связи и промышленных объектов - риск потери управляемости оборудования.

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

Обновления ядра доступны в репозиториях Ubuntu, Debian и РЕД ОС, а сама правка внесена в основную ветку ядра. Администраторам имеет смысл установить пакеты и перезагрузить узлы, поскольку без перезагрузки в памяти останется прежняя версия ядра. После обновления стоит убедиться, что загрузился нужный выпуск, и обновить гостевые системы, которые используют тот же транспорт. Если перезагрузка невозможна сразу, помогает временное ограничение сетевого доступа к соответствующему сервису. Управление исправлениями в таких случаях удобно вести по инвентарю: важно понимать, на каких машинах включены модули ядра, связанные с удалённым доступом к памяти и сетевыми файловыми сервисами.

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

Ссылки

Комментарии: 0