30秒で判断
- 対応すべき人: Linux サーバで ksmbd(カーネル内SMBサーバ)を有効化し、SMBを提供している方。
- 対応不要な人: ksmbd を使用していない方(Samba(userspace) のみ利用など)、修正済みカーネルを使用中の方。
- 確認コマンド:
lsmod | grep ksmbdで ksmbd モジュールのロード状況を確認。
概要
Linux kernel の ksmbd における oplock ブレーク通知処理(smb2_oplock_break_noti())で、ロックを取得せずに opinfo->conn を参照・デリファレンスしていることに起因する解放後使用(Use-After-Free)が修正されました。durable handle を持つ接続が切断されると、session_fd_check() が opinfo->conn をクリアして参照を落とし、最後の参照解放で接続オブジェクトが解放されます。この解放処理と oplock ブレーク通知の処理が競合した場合、解放済みのメモリを参照してしまい、メモリ破壊につながる可能性があります。
ksmbd はカーネル空間で動作するSMBサーバであり、メモリ破壊はカーネル全体の安定性やセキュリティに直結します。SMBサーバとして外部に公開している環境では影響が大きく、深刻度は最大級(CVSS 9.8)と評価されています。ネットワーク越しに到達可能な条件が揃うため、公開しているサービスから優先的に対応することを推奨します。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | 9.8(Critical) |
| 攻撃元区分 (AV) | ネットワーク |
| 攻撃条件の複雑さ (AC) | 低 |
| 必要な権限 (PR) | なし |
| CWE | CWE-416(解放後使用) |
影響を受けるソフトウェア
| 製品 | ベンダー | バージョン |
|---|---|---|
| Linux kernel(ksmbd有効時) | Linux | 修正コミット適用前の該当バージョン |
修正バージョンと回避策
各ディストリビューションが提供する安定版カーネル更新を適用してください。回避策として、ksmbd を使用していない場合はモジュールを無効化し、SMBの公開範囲を必要な範囲に限定することが有効です。
関連リンク
データソース: NVD (NIST), kernel.org AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
