【活用ガイド】

JVNDB-2025-026008

LinuxのLinux Kernelにおける二重解放に関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。scsi: targetの複数のLUN_RESET処理に関する問題です。本修正は、イニシエータがLUN_RESETによって実行中のコマンドがクリーンアップされたと誤認するバグを修正します。このバグはコミット51ec502a3266("target: Delete tmr from list before processing")で導入されました。問題の発生状況は以下の通りです。1. ターゲット層で2つのセッションにまたがってN個のI/Oコマンドが実行されています。2. イニシエータが各セッションに対してLUN_RESETを送信します。3. session1のLUN_RESETが両セッションの実行中コマンド全てをループしてローカルのdrain_task_listに移動させます。4. session2のLUN_RESETは、上記コミットにより自身を削除するためsession1のLUN_RESETを検出できず、コマンドも他のリセットが状態リストから移動しているため検出できません。5. session2のLUN_RESETは成功応答で完了します。6. session2のイニシエータは、成功応答により自身のセッション上の実行中コマンドがクリーンアップされたと判断し、これらをクリーンアップして再起動します。7. コマンドは最終的にバックエンドで完了し、ターゲットは中止されたタスクステータスを返します。イニシエータは無効なITTエラーを返すか、ITTが再割り当てされている場合は誤って新しいタスクを検索する可能性があります。修正はパッチのリバートとLUN_RESET、Preempt及びAbortsの実行の逐次化によって行われました。また、core_tmr_drain_tmr_listでLUN_RESET待機を防止しました。元のパッチは言及されていなかったバグを修正していたためです。具体的にはLUN_RESET1がcore_tmr_drain_tmr_listで2つ目のLUN_RESETを検出し待機し、2つ目のリセットがcore_tmr_drain_tmr_listを実行して1つ目のリセットを検出し待機することでデッドロックが発生していました。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 4.7 (警告) [NVD値]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 高
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 4.11 以上 5.10.180 未満
  • Linux Kernel 5.11 以上 5.15.111 未満
  • Linux Kernel 5.16 以上 6.1.28 未満
  • Linux Kernel 6.2 以上 6.2.15 未満
  • Linux Kernel 6.3 以上 6.3.2 未満

想定される影響

当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
また、当該ソフトウェアが扱う情報について、書き換えは発生しません。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

  1. 二重解放(CWE-415) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2023-53586
参考情報

  1. National Vulnerability Database (NVD) : CVE-2023-53586
  2. 関連文書 : scsi: target: Fix multiple LUN_RESET handling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/673db054d7a2b5a470d7a25baf65956d005ad729)
  3. 関連文書 : scsi: target: Fix multiple LUN_RESET handling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/eacfe32c3650bfd0e54224d160c431013d7f6998)
  4. 関連文書 : scsi: target: Fix multiple LUN_RESET handling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9158c86fd3237acaea8f0181c7836d90fd6eea10)
  5. 関連文書 : scsi: target: Fix multiple LUN_RESET handling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e1f59cd18a10969d08a082264b557876ca38766e)
  6. 関連文書 : scsi: target: Fix multiple LUN_RESET handling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2c43de56f9220dca3e28c774d1c5e2cab574223a)
  7. 関連文書 : scsi: target: Fix multiple LUN_RESET handling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ed18526289b5603bf2253dee50f1d7ec245cf397)
更新履歴

  • [2026年02月12日]
      掲載