【活用ガイド】

JVNDB-2026-023801

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

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。fs/fcntlにおけるfasyncシグナリング関連のSOFTIRQ非安全なロック順序の問題です。プロセスグループがシグナルを受け取る際、send_sigio()およびsend_sigurg()で、SOFTIRQ安全からSOFTIRQ非安全なロック順序によりデッドロックが発生する可能性があります。プロセスグループ(PIDTYPE_PGID)に対してFASYNCが設定されている場合、両関数はtasklist_lockに対してread_lock(&tasklist_lock)を使用しタスクリストを巡回します。しかし、これらの関数はしばしばsoftirqコンテキストから呼び出されます。具体的には、send_sigio()はinput_inject_eventからkill_fasyncを経由し、send_sigurg()はtcp_check_urgからsk_send_sigurg (NET_RX_SOFTIRQ)を経由します。デッドロックはrwlockの書き込み者フェアネス機構によって引き起こされます。具体的な状況は以下の通りです。1. CPU0(プロセスコンテキスト)がdo_wait()内でread_lock(&tasklist_lock)を保持する。2. CPU1(プロセスコンテキスト)がfork()またはexit()においてwrite_lock(&tasklist_lock)の獲得を試みてスピンし、新しいリーダーの取得を阻害する。3. CPU0がsoftirq(例:TCP URGパケット受信)により割り込みを受ける。4. softirqがsend_sigurg()を呼び出しread_lock(&tasklist_lock)を取得しようとするが、CPU1が待機中のためデッドロックが発生する。PIDのハッシュ化やdo_each_pid_task()の走査はすでにRCU保護されているため、安全な走査にはtasklist_lockのread_lockは厳密には不要です。これを修正するため、tasklist_lockをrcu_read_lock()に置き換え、プロセスグループのシグナリング経路を単一PIDの経路に整合させました。この修正により、TCP URGパケットを介した潜在的なリモートサービス拒否攻撃ベクトルも軽減されました。Lockdepの検出情報は以下のとおりです。=====================================================WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected[...]Chain exists of: &dev->event_lock --> &f_owner->lock --> tasklist_lock可能な割り込み非安全なロックシナリオは次のようになります。 CPU0 CPU1 ---- ---- lock(tasklist_lock); local_irq_disable(); lock(&dev->event_lock); lock(&f_owner->lock); <Interrupt> lock(&dev->event_lock);*** デッドロックが発生しました。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 2.6.12.1 以上 5.10.259 未満
  • Linux Kernel 5.11 以上 5.15.210 未満
  • Linux Kernel 5.16 以上 6.1.176 未満
  • Linux Kernel 6.13 以上 6.18.36 未満
  • Linux Kernel 6.19 以上 7.0.13 未満
  • Linux Kernel 6.2 以上 6.6.143 未満
  • Linux Kernel 6.7 以上 6.12.94 未満
  • Linux Kernel 7.1 以上 7.1.1 未満
  • Linux Kernel 2.6.12

想定される影響

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

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

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

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

  1. CVE-2026-52946
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-52946
  2. 関連文書 : fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/bfcc8e8d8a495bb34cae9e620adfb75fb13a3954)
  3. 関連文書 : fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/b5fa9e32fb6718f70c986ee14dd5d01b4846f331)
  4. 関連文書 : fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1bee417678f1135e35b25a37734db46aa94258d2)
  5. 関連文書 : fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/36c1b57b2ecf3c61ac93f5f07bd29b6f21e226ed)
  6. 関連文書 : fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/20a93e397abe850c49b6fa0e8cc827b5f634a8f5)
  7. 関連文書 : fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/32dbd5ce4be3a3ed7e00f8af18795cc84fc50a33)
  8. 関連文書 : fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/00633c4683828acd5256fa8d5163f440d74bbe71)
  9. 関連文書 : fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/54626335ea4174ab2d9a183b511d825f6765e47b)
  10. 関連文書 : fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/897d6a7247739fb1528f98c575df4f2e5de7f994)
更新履歴

  • [2026年07月16日]
      掲載