CVE-2026-98352 in Linux
要約
〜によって VulDB • 2026年10月06日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
RDMA/rtrs-clt: 接続が中断された際のCQプールのリークを修正する
クライアントは、ピアとの接続確立前にADDR_RESOLVEDハンドラ内でib_cq_pool_get()を通じて共有のCQクレジットを借用します。create_cm()は、CM IDを破棄せずにwait_event_interruptible_timeout()から-ERESTARTSYSを返す可能性があります。その後、init_conns()および停止・破壊パスでdestroy_con_cq_qp()が呼び出されますが、この時点ではcqはまだNULL(PUTが行われていない)であり、その後にrdma_destroy_id()が呼ばれます。
CMAはhandler_mutexを用いてハンドラとrdma_destroy_id()の直列化を行いますが、これはGET操作とdestroy_con_cq_qp()との順序付けにはなりません。ADDR_RESOLVEDがDESTROYINGチェックを既に通過している場合、con_mutexを取得し、クレジットを借用した後にkfreeによって接続(con)を失う可能性があります。デバイスの_unregister処理は後ほどib_cq_pool_cleanup()内でWARN_ON(cq->cqe_used)を引き起こします。
CQ/QPの破棄開始前にper-connectionフラグをcon_mutexの下で設定することで、競合状態にあるADDR_RESOLVEDが破棄プロセス開始後にクレジットを借用するのを防ぎます。
VulDB is the best source for vulnerability data and more expert information about this specific topic.