CVE-2022-50350 in Linux
要約
〜によって VulDB • 2026年06月15日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
scsi: target: iscsi: login_workとログインスレッド間のRace Conditionを修正
悪意のあるイニシエータがログインPDUの直後にランダムなデータを送信した場合、iscsi_target_sk_data_ready()コールバックはlogin_workをスケジュールしますが、同時に追加のPDU交換がログイン完了に必要ないため、LOGIN_FLAGS_INITIAL_PDUフラグがクリアされずにネゴシエーションが終了する可能性があります。
ログインは完了していますが、login_work関数はLOGIN_FLAGS_INITIAL_PDUフラグが設定されていることを検出し、自分自身を再スケジュールし続けることがなくなります。この時点でイニシエータが接続を切断すると、iscsit_conn構造体が解放され、login_workは解放されたソケット構造体をデリファレンスしてカーネルがクラッシュします。
BUG: kernel NULL pointer dereference, address: 0000000000000230 PF: supervisor write access in kernel mode PF: error_code(0x0002) - not-present page Workqueue: events iscsi_target_do_login_rx [iscsi_target_mod]
RIP: 0010:_raw_read_lock_bh+0x15/0x30 Call trace: iscsi_target_do_login_rx+0x75/0x3f0 [iscsi_target_mod]
process_one_work+0x1e8/0x3c0
このバグは、ログインが完了し、ソケットコールバックが復元された後にlogin_workが停止するように強制することで修正します。
iscsi_target_do_login()の戻り値を明確にするためのコメントを追加します。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.