К обсуждениям

Linux RXE: RD-atomic resources нельзя менять под работающим responder

Редакция VOne Технологии

Практическая проверка software RDMA RXE queue pair responder по свежему kernel advisory: runtime build, upstream commit, безопасный fixture и чёткий stop-rule без production-нагрузки.

Узкая граница software RDMA RXE queue pair responder

Для software RDMA RXE queue pair responder проверяется не общий статус Linux, а один конкретный переход: modify_qp для IB_QP_MAX_DEST_RD_ATOMIC мог free/reallocate resp.resources без state_lock, пока rxe_receiver обходил array; cached resp.res оставался dangling и создавал local UAF/DoS race. Версионная граница статьи — присутствие stable commit из GHSA-6j94-p35f-gvmj либо документированного backport поставщика в загруженном kernel build. Собственный предмет этой страницы выражен как «матрицу QP state × recv_task enabled × resource generation × cached pointer cleared × allocation result». Он не совпадает с соседними parser, filesystem, socket или workqueue задачами. Карточка от 4 сентября служит свежим сигналом; она не доказывает, что конкретный узел затронут или подвергался атаке.

Runtime-карта для software RDMA RXE queue pair responder

Сначала соберите uname/build ID, distribution package revision, loaded module/feature state и mapping vendor advisory → stable commit без hostnames и пользовательских данных. Затем заполните «матрицу QP state × recv_task enabled × resource generation × cached pointer cleared × allocation result» для фактически загруженного ядра. У software RDMA RXE queue pair responder каждое поле отвечает на отдельный вопрос о достижимости и последовательности внутренних состояний; UNKNOWN нельзя заменять предположением по номеру дистрибутива. Сопоставьте vendor changelog с commit 0136b528b753c5a56e4d997ef20b86bb6750b8fb и сохраните package provenance. Имена машин, адреса, пользовательский трафик и дампы памяти в runtime-карту не входят.

Контроль без production-нагрузки

Для этой ветки допустим следующий bounded test: На dev kernel используйте upstream regression/KASAN fixture с synthetic QP и task spies; задача должна быть disabled/drained вокруг swap и включена только после успешной allocation. До опыта для software RDMA RXE queue pair responder фиксируют нулевые side-effect counters и hash fixture, после — удаляют fixture и повторно проверяют baseline. Искомый результат сформулирован предметно: Responder не видит old/NULL array, cached pointer очищен, ENOMEM оставляет task disabled до безопасного recovery, KASAN чист. Один boot, один test case или отсутствие crash не заменяют наблюдение названных состояний. Если официального selftest нет, выполняют только source/backport audit и оставляют runtime verdict UNKNOWN.

Решение по stable fix

План исправления для software RDMA RXE queue pair responder: Установить поддерживаемое ядро с указанным stable fix либо подтверждённым backport поставщика; до этого исключить достижимый component path по change control. PASS ставится только при подтверждённом build provenance и выполнении условия «Responder не видит old/NULL array, cached pointer очищен, ENOMEM оставляет task disabled до безопасного recovery, KASAN чист.». UPDATE-REQUIRED означает, что commit/backport отсутствует при достижимой функции. NOT-REACHABLE описывает только проверенный module path, но не весь kernel. После обновления повторяют именно «матрицу QP state × recv_task enabled × resource generation × cached pointer cleared × allocation result» и обычный smoke компонента. При расхождении исходников, package metadata и running build результат остаётся UNKNOWN без попытки силового воспроизведения.

Stop-rule для software RDMA RXE queue pair responder

Остановка обязательна: Не гонять race на production RDMA host, не использовать hardware traffic и не повышать loop count ради воспроизведения crash. Для software RDMA RXE queue pair responder нельзя расширять права, длительность, packet volume, mount scope или concurrency только ради наблюдаемого сбоя. Advisory GHSA-6j94-p35f-gvmj описывает исправленную техническую возможность, но не историю данного сервера. Не публикуйте trigger bytes, рабочие идентификаторы, network captures или exploit recipe. Если безопасный upstream selftest недоступен, достаточный следующий шаг — обновление по vendor bulletin и проверка health, а не самостоятельный атакующий образец.

Доказательство и очистка

Минимальный evidence package для владельца software RDMA RXE queue pair responder: kernel/build, rxe module, QP synthetic state, disable/enable order, allocation outcome, KASAN result и commit. Добавьте Moscow timestamp, expected/actual, ссылку на GHSA-6j94-p35f-gvmj и stable commit, а также результат cleanup. Уникальность отчёта задаёт сочетание «матрицу QP state × recv_task enabled × resource generation × cached pointer cleared × allocation result» с конкретным контролем «На dev kernel используйте upstream regression/KASAN fixture с synthetic QP и task spies; задача должна быть disabled/drained вокруг swap и включена только после успешной allocation.». Полные журналы, IP, usernames, credentials и пользовательские payload исключаются. Такой пакет позволяет независимо проверить backport и решение, но не обещает совместимость иной ветки, отсутствие прошлой эксплуатации, массовость наблюдения, индексацию или позиции.

Материал подготовлен редакцией VOne с помощью автоматизированного черновика. Факты и границы вывода сверены 4 сентября 2026 года по прямой advisory и первичному источнику. Текст написан самостоятельно; опасные действия и реальные пользовательские данные не использовались.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

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