CVE-2026-98352 in Linux
Сводка
по VulDB • 06.10.2026
В ядре Linux была устранена следующая уязвимость:
RDMA/rtrs-clt: исправление утечки пула CQ при прерывании подключения
Клиент заимствует общие кредиты CQ в обработчике ADDR_RESOLVED с помощью ib_cq_pool_get() до того, как пир (peer) подключен. create_cm() может вернуть -ERESTARTSYS из wait_event_interruptible_timeout(), не уничтожая идентификатор CM ID. Затем пути инициализации соединений (init_conns()) и остановки/уничтожения вызывают destroy_con_cq_qp(), когда cq всё ещё равен NULL (без вызова PUT), и только после этого выполняется rdma_destroy_id().
CMA сериализует обработчик относительно rdma_destroy_id() с помощью handler_mutex, но это не упорядочивает операцию GET по отношению к destroy_con_cq_qp(). Если ADDR_RESOLIZED уже прошел проверку DESTROYING, он может захватить con_mutex, получить кредиты (GET), а затем потерять соединение из-за kfree. Поздняя регистрация устройства приводит к срабатыванию WARN_ON(cq->cqe_used) в ib_cq_pool_cleanup().
Установите флаг для каждого соединения под блокировкой con_mutex до начала разборки CQ/QP, чтобы конкурирующий (racing) ADDR_RESOLVED не мог заимствовать кредиты после того, как разборка началась.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.