30秒で判断
対応すべき人:
- Linux サーバーで NVMe-oF/TCP(NVMeターゲット)を使用している
- nvmet-tcp カーネルモジュールをロードしている
対応不要な人:
- NVMe-oF を使用していない(一般的な Web/アプリサーバー)
- nvmet-tcp モジュールをロードしていない
- 最新のカーネルセキュリティパッチを適用済み
確認コマンド:
# nvmet-tcp モジュールがロードされているか確認
lsmod | grep nvmet_tcp
概要
Linux kernel の nvmet_tcp_handle_icreq() 関数(NVMe/TCP の初期化接続要求ハンドラ)とキュー解放処理(nvmet_tcp_schedule_release_queue())の間に race condition が存在します。
NVMe/TCP ホストが接続要求(ICReq)を送信した後すぐに接続を閉じると、ターゲット側では teardown とパース処理が競合し、kref_put() が二重に呼ばれる可能性があります。これはカーネルパニックまたはメモリ破壊につながる深刻な脆弱性です(CWE-362)。
CVSS ベクトル
| 項目 | 値 |
|---|---|
| Attack Vector | Network |
| Attack Complexity | Low |
| Privileges Required | None |
| User Interaction | None |
| Confidentiality Impact | High |
| Integrity Impact | High |
| Availability Impact | High |
| CVSS Score | 9.8 (Critical) |
| CWE | CWE-362(Race Condition) |
影響を受けるソフトウェア
| 製品 | バージョン |
|---|---|
| Linux kernel | nvmet-tcp 実装を含む各バージョン(stable パッチ公開済み) |
修正バージョンと回避策
修正: Linux kernel stable パッチが公開済み(複数のブランチに適用)
回避策:
- NVMe-oF/TCP ターゲットを使用していない場合は nvmet-tcp モジュールをアンロードする
# モジュールのアンロード(接続中のセッションがない場合)
modprobe -r nvmet-tcp
関連リンク
データソース: NVD (NIST), GitHub Advisory Database
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
