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値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/06/24 |
| 登録日 | 2026/07/16 |
| 最終更新日 | 2026/07/16 |



