【活用ガイド】

JVNDB-2026-023767

LinuxのLinux KernelにおけるNULL ポインタデリファレンスに関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。sched/fairにて、フォークされたエンティティの初期化時にrel_deadlineをクリアしないために、新たにフォークされたsched_entityが予期せずse->rel_deadlineが設定されたままfairクラスに入ることで、yieldをトリガーとするクラッシュが発生する可能性があります。問題のあるシーケンスは以下の通りです。 1. se->rel_deadlineがまだ設定されたままタスクがフォークされる。 2. __sched_fork()がvruntime、vflagおよび他のsched_entity状態を初期化するが、rel_deadlineはクリアしない。 3. 最初のenqueue時にenqueue_entity()がplace_entity()を呼び出す。 4. se->rel_deadlineが設定されているため、place_entity()はse->deadlineを相対デッドラインとみなし、現在のvruntimeを加算して絶対デッドラインに変換する。 5. しかし、フォークされたエンティティのデッドラインはこの新しいスケジューリングインスタンスに対して有効な継承された相対デッドラインではないため、変換によって異常に大きなデッドラインが生成される。 6. その後タスクがsched_yield()を呼ぶと、yield_task_fair()はse->vruntimeをse->deadlineまで進める。 7. その膨張したvruntimeは次のenqueue時に使用され、vruntimeから派生したキーがエンティティの重みと乗算される際にオーバーフローを引き起こす可能性がある。 8. これによりcfs_rq->sum_w_vruntimeが破損し、EEVDFの適格判定が壊れて最終的にすべてのエンティティが不適格として扱われるようになります。その結果、pick_next_entity()が予期せずNULLを返し、後続のNULL参照につながる可能性があります。トレースデータはこの影響を明確に示しています。yield前のエンティティのvruntimeは約9,834,017,729,983,308でしたが、yield_task_fair()実行後(se->vruntime = se->deadline)にはvruntimeが19,668,035,460,670,230まで跳ね上がり、その後デッドラインはさらに19,668,035,463,470,230まで進められました。これは、deadlineがyield_task_fair()がvruntimeにコピーする前からすでに異常に大きくなっていたことを示しています。rel_deadlineは、se->deadlineがまだvruntimeに対して相対的なデッドラインを持ち、それを用いて位置付ける必要がある場合にのみ意味を持ちます。新たにフォークされたsched_entityは、この状態を継承または保持してはなりません。したがって、__sched_fork()内でse->rel_deadlineを他のsched_entityランタイム状態とともにクリアし、最初のenqueue時に新しいエンティティのデッドラインが古い相対デッドラインとして誤って解釈されないように対策しました。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 6.12 以上 6.12.91 未満
  • Linux Kernel 6.13 以上 6.18.33 未満
  • Linux Kernel 6.19 以上 7.0.10 未満
  • Linux Kernel 7.1

想定される影響

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

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

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

  1. NULL ポインタデリファレンス(CWE-476) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-52980
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-52980
  2. 関連文書 : sched/fair: Clear rel_deadline when initializing forked entities - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8f4a16200785f49cf02c5b71bdfe7a9dab63f23a)
  3. 関連文書 : sched/fair: Clear rel_deadline when initializing forked entities - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/c71bf35caba12bfd9bc23e32b0bcd9e02d1cf1ac)
  4. 関連文書 : sched/fair: Clear rel_deadline when initializing forked entities - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f3c16e1f4a314a20717ab90a41885f8111a242ab)
  5. 関連文書 : sched/fair: Clear rel_deadline when initializing forked entities - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3da56dc063cd77b9c0b40add930767fab4e389f3)
更新履歴

  • [2026年07月16日]
      掲載