JVNDB-2026-027859 | |
LinuxのLinux KernelにおけるNULL ポインタデリファレンスに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。powerpc/time: arch_irq_work_raise() から冗長な preempt_disable()/preempt_enable() の呼び出しを削除しました。リアルモードでのマシンチェック例外処理時にカーネルパニックが発生していました。BUG: 0xc00000006be21300 の読み取り時にカーネルデータアクセスを処理できませんでした。Oops: 不正な領域へのカーネルアクセス、シグナル: 11 [#1] MSR: 8000000000001003 <SF,ME,RI,LE> CR: 88222248 XER: 00000005 CFAR: c00000000003ffc4 DAR: c00000006be21300 DSISR: 40000000 IRQMASK: 0 NIP [c000000000029e40] arch_irq_work_raise+0x10/0x70 LR [c00000000003ffc8] machine_check_queue_event+0xa8/0x150 Call Trace: [c0000000179d3c70] [c00000000003ff64] machine_check_queue_event+0x44/0x150 [c0000000179d3d30] [c0000000000084e0] machine_check_early_common+0x1f0/0x2c0。このクラッシュは、arch_irq_work_raise() がリアルモードで実行されるマシンチェック例外(MCE)ハンドラから preempt_disable() を呼び出したために発生していました。この状況で preempt_count にアクセスするとフォルトが発生し、パニックにつながります。arch_irq_work_raise() 内の preempt_disable()/preempt_enable() のペアは、元々コミット 0fe1ac48bef0("powerpc/perf_event: Fix oops due to perf_event_do_pending call")で、例外コンテキストから irq work を発行する際の競合回避のために追加されました。その後、コミット 471ba0e686cb("irq_work: Do not raise an IPI when queueing work on the local CPU")により irq_work_queue() パス内でのプリエンプション保護が追加され、さらにコミット 20b876918c06("irq_work: Use per cpu atomics instead of regular atomics")では、arch_irq_work_raise() に到達する前の irq_work_queue_on() に同等の保護が追加されました。 irq_work_queue() / irq_work_queue_on() → preempt_disable() → __irq_work_queue_local() → irq_work_raise() → arch_irq_work_raise()。その結果、mce_irq_work_raise() 以外の呼び出し元はすでにプリエンプション無効状態で実行されており、arch_irq_work_raise() 内の追加の preempt_disable()/preempt_enable() ペアは冗長となっていました。arch_irq_work_raise() 関数は MCE ハンドラから呼ばれると NMI コンテキストで実行されます。したがって、MSR[EE]=0 の NMI コンテキスト内ではプリエンプトやスケジューリングが発生しないため、ここから preempt_disable()/preempt_enable() の呼び出しを削除しても安全です。これにより、リアルモードコンテキストから preempt_count にアクセスすることを回避できます。【Maddy によるコミットタイトルの修正】 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/24 |
| 登録日 | 2026/08/12 |
| 最終更新日 | 2026/08/12 |



