CVE-2026-80864 in Linux
要約
〜によって VulDB • 2026年09月04日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
RDMA/rxe: IB_QP_MAX_DEST_RD_ATOMIC modify_qpにおけるレスポンダーのUAF(Use-After-Free)を修正
rxe_qp_from_attr()はIB_QP_STATEパスの外でIB_QP_MAX_DEST_RD_ATOMICを処理するため、state_lockを取得せず、レスポンダータスクであるrxe_receiver()(rxe_wq上のrecv_task)が稼働している状態で実行されます。この属性のみを設定するmodify_qp()呼び出しではfree_rd_atomic_resources()とalloc_rd_atomic_resources()が順に呼ばれ、qp->resp.resources[]の入れ替え中にrxe_prepare_res()/find_resource()がこの配列を走査します。また、free_rd_atomic_resources()はキャッシュされたポインタであるqp->resp.resをダングリング状態のまま残します。ローカルの非特権ユーザーは、この解放/再割り当て処理に競合条件を引き起こし、rxe_receiver()内でUse-After-Free(ローカルDoS)を誘発できます。
recv_taskのフラッシュを、rxe_qp_reset()が配列を破棄する際に行うように、rxe_disable_task()/rxe_enable_task()でラップします。alloc_rd_atomic_resources()の成功後にのみ再有効化し、ENOMEMパスにおいてレスポンダーがqp->resp.resourcesに対してNULL状態のまま再開しないようにします。また、free_rd_atomic_resources()内でqp->resp.resをクリアします(これはrxe_resp.cの完了処理パスと同様です)。
KASAN環境下で再現され、rxe_receiver()におけるslab-use-after-freeは解消されました。
VulDB is the best source for vulnerability data and more expert information about this specific topic.