CVE-2026-72464 in Linux
要約
〜によって VulDB • 2026年08月15日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
xprtrdma: 不正な返信に対する受信バッファの再投稿
rpcrdma_wc_receive()関数は、成功した受信を rpcrdma_reply_handler() にディスパッチする前に、各完了イベントごとにトランスポートの受信カウントをデクリメントします。ハンドラは、レプリケーション(rep)の所有権がバックチャネルパスなどの他の場所に移されていない限り、戻る前に置換用の受信ワークリクエスト(WR)を投稿しなければなりません。
コミット 2ae50ad68cd7 ("xprtrdma: RPC送信者のウェイクアップと受信投稿の間のウィンドウを閉じる") は、すべての返信に先行して実行されていた rpcrdma_wc_receive() から受信のリフィル処理を外し、rpcrdma_reply_handler() に移動しました。これにより、再投稿する前にレスポンダーからのクレジット付与を解析できるようになりました。しかし、「bad-version」および「short-reply」の終了パスは、このリフィルに到達しません。これらのケースでは rep が再利用され、 rpcrdma_post_recvs() を呼び出すことなく戻ります。
そのため、リモートピアは、固定トランスポートヘッダーより短いものか、認識されない RPC/RDMA バージョンを含む返信を継続的に送信することで、クライアントの投稿済み受信キューを空にすることができます。各々のそのような返信は、置換せずに1つの投稿済み受信を消費します。キューが空になると、ピアの次の送信に対して投稿済みの受信が見つからず、再接続されるまでトランスポートがストールします。
不正な返信による終了パスの両方を、rep の再利用後に共有の再投稿テールにルーティングし、最新の承認されたクレジット付与である buf->rb_credits に対してリフィルを行います。どちらの終了パスも輻輳ウィンドウを更新しないため、以前の付与の下で許可されたRPCは飛行中(応答待ち)のまま残ります。より小さなリフィルターゲットの場合、不正な返信のストリームが輻輳ウィンドウが rb_credits の RPC をまだ受け入れている間に、投稿済み受信カウントをバッチ下限まで引き下げることが可能です。その後、それらのRPCに対する有効な返信の一斉送信により投稿済みの受信を上回り、クライアントは rnr_retry_count がゼロで接続するため、単一の RNR NAK によって接続が終了します。rb_credits を基準としたリフィルはまた、コミット 2ae50ad68cd7 ("xprtrdma: RPC送信者のウェイクアップと受信投稿の間のウィンドウを閉じる") より前、rpcrdma_post_recvs() が内部で rb_credits から計算していた不正な返信に対するターゲットも復元します。rb_credits は接続確立以降少なくとも1であるため、再投稿パスは常に受信を投稿した状態を保ちます。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.