JVNDB-2026-026005 | |
LinuxのLinux KernelにおけるNULL ポインタデリファレンスに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。ksmbdでは、複合リクエストの分岐において、VALIDでないセッションを拒否するようにしました。smb2_check_user_session()関数は、COMPOUNDリクエスト内の最初の操作でない場合にショートカットを取ります。これは、最初の操作にバインドされたセッションであるwork->sessを再利用し、SessionIdのみを検証して「有効」と返します。しかし、work->sess->stateがSMB2_SESSION_VALIDであるかどうかは再チェックせず、SessionIdが0xFFFFFFFFFFFFFFFF(ULLONG_MAX、MS-SMB2関連操作の値)の場合はID比較すらスキップします。単独での処理経路(ksmbd_session_lookup_all()およびSESSION_SETUP状態機械)はVALID状態を強制しますが、複合リクエストの分岐はこれをバイパスしてしまいます。NTLM Type-1(NtLmNegotiate)ブロブのみを運ぶSESSION_SETUPは、新たなSMB2_SESSION_IN_PROGRESSセッションを公開しますが、そのsess->userはまだNULLのままです(->userは後でntlm_authenticate()により割り当てられます)。これをCOMPOUNDの操作1として使用し、操作2がTREE_CONNECT(関連、SessionId=ULLONG_MAX、\host\IPC$)の場合、ツリー接続はそのIN_PROGRESSセッションで実行され、ksmbd_ipc_tree_connect_request()に到達します。ここでsess->userがNULLのままuser_name(sess->user)が間接参照されるため(transport_ipc.cの687/701/704行目)、リモートのNULLポインタ参照が発生し、カーネルOopsが起きてksmbdワーカーがすべてのクライアントに対してハングします。SMB2_SESSION_VALIDでないセッション上にある、最初ではない複合操作はすべて拒否するようにしました。これは単独ルックアップ経路が強制している有効性と整合しています。SESSION_SETUP自体は正当にIN_PROGRESSセッション上で実行されますが、複合リクエストの非最初の操作として運ばれることはなく、多段認証にはこのチェックによる影響はありません。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/19 |
| 登録日 | 2026/07/30 |
| 最終更新日 | 2026/07/30 |



