【活用ガイド】

JVNDB-2026-023770

LinuxのLinux Kernelにおける不特定の脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。 futex:signalやtimeoutによるウェイクアップ中のrequeue-PIでのロックアップを防止します。wait-requeue-pi(タスクA)とrequeue-PI(タスクB)の間で、以下のレースコンディションが発生する可能性があります。 タスクA タスクB futex_wait_requeue_pi() futex_setup_timer() futex_do_wait() futex_requeue() CLASS(hb, hb1)(&key1); CLASS(hb, hb2)(&key2); *タイムアウト* futex_requeue_pi_wakeup_sync() requeue_state = Q_REQUEUE_PI_IGNORE *hb->lockでブロック* futex_proxy_trylock_atomic() futex_requeue_pi_prepare() Q_REQUEUE_PI_IGNORE => -EAGAIN double_unlock_hb(hb1, hb2)*リトライ* タスクBは両方のhbロックを取得し、最上位の待機者(タスクB)のPIロックを取得しようとします。タスクAはシグナルやタイムアウトのため早期に離脱し、キューから自身を削除し始めます。requeue_stateを更新しますが、これはhbロックが必要であり、そのhbロックはタスクBが保持しているためリストから削除できません。通常、タスクAはタスクBがロックを解除した後にロックを奪うことができます。しかし、タスクBがタスクAより高優先度の場合、タスクAはタイムリーに起床してロックを取得できず、タスクBに再度ロックを取られてしまう可能性があります。特にUP(単一プロセッサ)システムでは、タスクAがスケジュールされないことがあります。結果として、タスクAはロックでブロックされ、タスクBは進捗を試みて忙しくループしますが、システムはライブロック状態になります。これは重大な問題です。この問題は、失敗時に最上位の待機者をリストから削除することで修正可能です。これにより、次のイテレーションでタスクBが次の最上位待機者(存在する場合)を取得し、進捗を得られます。futex_requeue_pi_prepare()が失敗した場合は最上位の待機者を削除してください。handle_early_requeue_pi_wakeup()では待機者が条件付きで自身をリストから削除できるようにします。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 5.15 以上 6.1.175 未満
  • Linux Kernel 6.13 以上 6.18.33 未満
  • Linux Kernel 6.19 以上 7.0.10 未満
  • Linux Kernel 6.2 以上 6.6.141 未満
  • Linux Kernel 6.7 以上 6.12.91 未満
  • Linux Kernel 7.1

想定される影響

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

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

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

  1. 情報不足(CWE-noinfo) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-52977
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-52977
  2. 関連文書 : futex: Prevent lockup in requeue-PI during signal/ timeout wakeup - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/0aacb6d18f76552e3e0ee25d9f40d21b3486f4cf)
  3. 関連文書 : futex: Prevent lockup in requeue-PI during signal/ timeout wakeup - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/bc7304f3ae20972d11db6e0b1b541c63feda5f05)
  4. 関連文書 : futex: Prevent lockup in requeue-PI during signal/ timeout wakeup - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/4e0ed44e51727d56244a822ab941efe507c47966)
  5. 関連文書 : futex: Prevent lockup in requeue-PI during signal/ timeout wakeup - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/69a7cfc66405aeaa2483147653d031b3592ffc9c)
  6. 関連文書 : futex: Prevent lockup in requeue-PI during signal/ timeout wakeup - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/0304d60abb9dcc02bc7fe6d1850f4ca206e8f1a0)
  7. 関連文書 : futex: Prevent lockup in requeue-PI during signal/ timeout wakeup - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e3f95b1ba242e37093305812df7fdbe7288a43ac)
更新履歴

  • [2026年07月16日]
      掲載