CVE-2026-31425 in Linux情報

要約

〜によって VulDB • 2026年05月21日

Linuxカーネルにおいて、以下の脆弱性が修正されました。

rds: ib: IB接続が確立される前にFRMR登録を拒否する

rds_ib_get_mr()は、conn->c_transport_dataからrds_ib_connectionを抽出し、FRWRメモリ登録のためにrds_ib_reg_frmr()に渡します。新しい送信接続において、icはrds_ib_conn_alloc()で割り当てられますが、接続ワーカーがまだrds_ib_conn_path_connect()を呼び出してrdma_cm_idを作成していないため、i_cm_idはNULLです。このような接続に対してRDS_CMSG_RDMA_MAPを指定したsendmsg()が呼び出されると、sendmsgパスは接続確立前に制御メッセージを解析し、rds_ib_post_reg_frmr()がic->i_cm_id->qpをデリファレンスしてカーネルクラッシュを引き起こす可能性があります。

rds_ib_reg_frmr()内の既存のガードは、!icのみをチェックします(コミット9e630bcb7701で追加)。これは、icが早期に割り当てられ、接続オブジェクトが存在する限り常にNULL以外であるため、このケースを検出できません。

KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
RIP: 0010:rds_ib_post_reg_frmr+0x50e/0x920 Call Trace: rds_ib_post_reg_frmr (net/rds/ib_frmr.c:167) rds_ib_map_frmr (net/rds/ib_frmr.c:252) rds_ib_reg_frmr (net/rds/ib_frmr.c:430) rds_ib_get_mr (net/rds/ib_rdma.c:615) __rds_rdma_map (net/rds/rdma.c:295) rds_cmsg_rdma_map (net/rds/rdma.c:860) rds_sendmsg (net/rds/send.c:1363) ____sys_sendmsg do_syscall_64

rds_ib_get_mr()にチェックを追加し、FRMR登録を続行する前にic、i_cm_id、qpがすべてNULL以外であることを確認します。これはrds_ib_post_inv()に既に存在するガードを模倣したものです。接続が準備できていない場合は-ENODEVを返します。これにより、rds_cmsg_send()内の既存のエラー処理が-EAGAINに変換され、ユーザー空間での再試行が可能になり、rds_conn_connect_if_down()がトリガーされて接続ワーカーが開始されます。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

責任者

Linux

予約する

2026年03月09日

モデレーション

承諾済み

エントリ

VDB-357154

EPSS

0.00114

アクティビティ

非常低い

ソース

Interested in the pricing of exploits?

See the underground prices here!