【活用ガイド】

JVNDB-2026-023184

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

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。x86/efi: FPUのsoftirq変更後のグレースフルなフォールト処理の修正(コミット d02198550423 "x86/fpu: カーネルモードのFPUをsoftirq内で確実に利用可能にして暗号処理性能を向上")以降、kernel_fpu_begin() は fpregs_lock() を呼び出し、これは以前の preempt_disable() の代わりに local_bh_disable() を使用しています。これにより、EFIランタイムサービス呼び出しの間、preempt_count に SOFTIRQ_OFFSET が設定され、通常のタスクコンテキストでも in_interrupt() が true を返すようになりました。グレースフルページフォールトハンドラ efi_crash_gracefully_on_page_fault() は、実際の割り込みコンテキストでのフォールトを判別するために in_interrupt() を使って処理を終了します。しかし、SOFTIRQ_OFFSET が設定されたことで、このハンドラは常に終了してしまい、EFIファームウェアのページフォールトが処理されなくなりました。その結果、die() にエスカレートし、ここでも in_interrupt() が true と認識されて panic("Fatal exception in interrupt") が呼び出されるため、システムがハードフリーズします。バグのあるファームウェアを搭載したシステムでは、EFIランタイム呼び出し中にページフォールトが発生すると(例:GetTime()で未マッピングのメモリにアクセスした場合)、期待されるグレースフルな EFI_ABORTED による回復の代わりに回復不能なハングが発生します。修正内容は in_interrupt() を !in_task() に置き換えることです。これにより、割り込みまたはNMIでのフォールトについては元の意図どおりに処理しつつ、FPUコードパスの local_bh_disable() によって誤ってトリガーされる問題を回避できます。【補足】arbdのSashikoによると、『in_hardirq() || in_nmi()』を使うと、fpregs_lock() 呼び出し前に efi_rts_work.efi_rts_id が割り当てられた後に softirq が発生する可能性があり、その間に発生したページフォールトが誤ってファームウェア由来と判断されてしまうため、!in_task() を使用するのが望ましいとのことです。これは in_serving_softirq() を内包しています。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 6.15 以上 6.18.30 未満
  • Linux Kernel 6.19 以上 7.0.7 未満
  • Linux Kernel 7.1

想定される影響

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

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

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

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

  1. CVE-2026-46290
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-46290
  2. 関連文書 : x86/efi: Fix graceful fault handling after FPU softirq changes - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/22b365ba1af3d8c6036b8e5112fffe80998b85a0)
  3. 関連文書 : x86/efi: Fix graceful fault handling after FPU softirq changes - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/db155b86d1523e85941f61efd7d7ffb594cc9a29)
  4. 関連文書 : x86/efi: Fix graceful fault handling after FPU softirq changes - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/088f65e206087bf903743bd18417261d7a4c9644)
更新履歴

  • [2026年07月10日]
      掲載