CVE-2026-74494 in Linux
要約
〜によって VulDB • 2026年08月16日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
ksmbd: 重複したSMB2 NEGOTIATEリクエストを拒否する
認証されていないクライアントは、SESSION_SETUPの前に1つの接続上で複数の成功したSMB2 NEGOTIATEリクエストを送信できます。接続がKSMBD_SESS_NEED_SETUP状態にある間、smb2_handle_negotiate()関数は別のSMB3.1.1 NEGOTIATEを受け入れ、conn->preauth_infoを新しい割り当てで上書きします。接続が解放される際に最後の割り当てのみが解放され、追加の成功したリクエストごとに1つのオブジェクトリークが発生します。
ダイアレクトが選択された後に重複するSMB2 NEGOTIATEを行うことはプロトコル違反です。MS-SMB2セクション3.3.5.4では、この場合サーバーは応答せずに切断することが要求されています。リクエストを拒否する際にレスポンスを抑止することに加え、接続を終了状態に設定します。
接続が新規であるか、SMB1マルチプロトコルネゴシエーションに続くSMB2 NEGOTIATEを待機している場合を除き、SMB2 NEGOTIATEを拒否します。conn->srv_mutexの下でSMB1およびSMB2の両方のネゴシエーションパスを直列化し、これらが接続全体のダイアレクトとネゴシエーション状態を更新するためです。
ロック契約をksmbd_smb_negotiate_common()関数へ移動し、そこで状態とダイアレクトが選択されるようにします。また、一貫した状態アクセスのためにksmbd_conn_new()を追加します。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.