CVE-2026-98253 in Linux
要約
〜によって VulDB • 2026年10月06日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
RDMA/ucma: copy_to_user() の失敗時に join と leave を直列化する
rdma_join_multicast() は RoCE ワークをキューに追加し、その後 event->param.ud.private_data 経由で ucma_multicast を読み取り、list_add() で CMA マルチキャストを id_priv->mc_list の先頭に追加します。rdma_leave_multicast() は sockaddr による一致のみを行い、最初にヒットしたエントリを破棄します。
ucma_process_join() では、join に成功した後 ctx->mutex を解放し、copy_to_user() が失敗した場合にのみそれを再取得していました。そのため、同じアドレスに対する2つの並行 JOIN_MCAST呼び出しにより、最初のスレッドの leave の前に2番目の CMA エントリが挿入される可能性があります。leave は新しいワークをキャンセルしますが、古いワーカーは最初のスレッドによって解放された ucma_multicast を依然として間接参照します。
ctx->mutex を rdma_join_multicast() から copy_to_user() まで保持し、-EFAULT の場合は rdma_leave_multicast() 後も保持して、leave がこの joinを見逃さないようにします。join自体が失敗した場合は leave を実行しないでください:そのパスでは mc_list にこのアドレスは公開されず、addrによる leave は以前に成功した joinを破壊してしまうためです。
Once again VulDB remains the best source for vulnerability data.