概要
Linux kernelのksmbd(カーネル内SMBサーバー)において、__ksmbd_close_fd() にUse-After-Free の脆弱性が存在します。
durable file handle がセッション切断(SMB2_LOGOFF なしのTCPクローズ)後も維持される場合、session_fd_check() は再接続のために fp->conn = NULL を設定します。しかし、fp->lock_list 上のバイトレンジロックのクリーンアップが行われません。
その後、durable scavenger スレッドがタイムアウトして __ksmbd_close_fd(NULL, fp) を呼び出す際、ロッククリーンアップのループで fp->conn->llist_lock にアクセスします。fp->conn は NULL であり、元の接続オブジェクトは ksmbd_tcp_disconnect() により既に解放されているため、slab Use-After-Free が発生します。
CVSSベクトル
| 指標 | 値 |
|---|---|
| CVSSスコア | 9.8 |
| 深刻度 | Critical |
| CWE | 未分類 |
| 攻撃元区分 | ネットワーク |
| 攻撃条件の複雑さ | 低 |
| 必要な特権レベル | 不要 |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| Linux kernel (ksmbd) | Linux | パッチ適用前のバージョン |
修正バージョンと回避策
- カーネルの安定版パッチが公開されています
- ksmbd を使用していない場合は影響なし
- durable handle 機能を無効化することで一時的に緩和可能
関連リンク
データソース: NVD (NIST) AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
