【活用ガイド】

JVNDB-2026-022479

LinuxのLinux Kernelにおけるリソースのロックに関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:xfrm: iptfs: iptfs_destroy_state() における ABBA デッドロックの修正iptfs_destroy_state() は、タイマーのコールバックも取得するスピンロックを保持したまま hrtimer_cancel() を呼び出しており、SMP システムにおいて ABBA デッドロックを引き起こします。出力タイマー(iptfs_timer)の場合: - iptfs_destroy_state() は x->lock を保持したまま hrtimer_cancel() を呼び出す - iptfs_delay_timer() コールバックは x->lock を取得するドロップタイマー(drop_timer)の場合: - iptfs_destroy_state() は drop_lock を保持したまま hrtimer_cancel() を呼び出す - iptfs_drop_timer() コールバックは drop_lock を取得する両方のタイマーは HRTIMER_MODE_REL_SOFT を使用しているため、コールバックは softirq コンテキストで実行されます。他の CPU 上で実行中のソフトタイマーに対して hrtimer_cancel() が呼ばれると、hrtimer_cancel_wait_running() は softirq_expiry_lock に対してスピンします。これは、コールバックを実行している softirq が保持しているのと同じロックです。もしコールバックが、hrtimer_cancel() の呼び出し側が保持しているスピンロックの解放待ちでブロックされると、以下のような循環依存が発生します: CPU 0: lock_A を保持 -> softirq_expiry_lock を待機 CPU 1: softirq_expiry_lock を保持 -> lock_A を待機それぞれのロックを取得する前に hrtimer_cancel() を呼び出すことで修正します。hrtimer_cancel() は、いかなるロックも保持せずに呼び出しても安全であり、進行中のコールバックが完了するまで待機します。出力タイマーについては、パケットキューを排出するため、その後にロックを取得します。ドロップタイマーについては、タイマーコールバックとの直列化のためだけに存在していた lock/unlock の組み合わせを完全に削除します。これは hrtimer_cancel() によってすでに保証されます。ソースコード監査により発見されました。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 6.14 以上 6.18.36 未満
  • Linux Kernel 6.19 以上 7.0.13 未満
  • Linux Kernel 7.1

想定される影響

・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
・当該ソフトウェアが扱う情報について、書き換えは発生しません。
・当該ソフトウェアが完全に停止する可能性があります。
対策

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

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

  1. 不適切なロック(CWE-667) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-53197
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-53197
  2. 関連文書 : xfrm: iptfs: fix ABBA deadlock in iptfs_destroy_state() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a13ca53e47e500854a3b9ec18b5dc83acfec863e)
  3. 関連文書 : xfrm: iptfs: fix ABBA deadlock in iptfs_destroy_state() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/c8a8a75b733467b00c08b91a38dbaf207a08ed6e)
  4. 関連文書 : xfrm: iptfs: fix ABBA deadlock in iptfs_destroy_state() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/822b98d354e63e8249e85473c5f3c519f3c9cecc)
更新履歴

  • [2026年07月07日]
      掲載