Linuxカーネルにおいて、以下の脆弱性が修正されました。irq_work: PREEMPT_RT環境でのirq_work_single()におけるuse-after-freeの問題の修正です。PREEMPT_RTでは、非HARDなirq_workがrun_irq_workd()経由でCPUごとのkthreadで実行されるため、irq_work_sync()はBUSY==0を待つためにrcuwait()を使用します。irq_work_single()がatomic_cmpxchg()でBUSYをクリアした後も、irq_work_is_hard()およびrcuwait_wake_up()のために@workへの参照が続きます。別のCPUのirq_work_sync()呼び出し元がBUSYクリア後に実行されると、すぐにBUSY==0を観測してreturnし、これらのアクセスが完了する前にworkを解放してしまうため、use-after-freeが発生します。この問題は、run_irq_workd()をguard(rcu)()でラップし、irq_work_single()の処理全体をRCU読み取り側のクリティカルセクション内に収めることで修正しました。さらに、irq_work_sync()のrcuwait_wait_event()の後にsynchronize_rcu()を追加し、呼び出し元がRCU猶予期間を待ってから戻るようにして、premature freeを防止しています。
Linux Linux Kernel 5.16 以上 6.1.175 未満 Linux Kernel 6.13 以上 6.18.34 未満 Linux Kernel 6.19 以上 7.0.11 未満 Linux Kernel 6.2 以上 6.6.142 未満 Linux Kernel 6.7 以上 6.12.92 未満 Linux Kernel 7.1
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
解放済みメモリの使用(CWE-416) [NVD評価]
CVE-2026-64073
National Vulnerability Database (NVD) : CVE-2026-64073 関連文書 : irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2dc79362302922cb18f35e262712b5e58de65442) 関連文書 : irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/91840be8f710370607f949a627e070896faeddb8) 関連文書 : irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/684a78183c54c23e70d1cba320f7fc184604210b) 関連文書 : irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/81b582784518196eff1050212a046bc29d3a05dd) 関連文書 : irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/18c0456ea2615b1a743a6db739c74411c3b42bc6) 関連文書 : irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/eef4f71b46a9929ac33e968538c9dd5d96a02460)
[2026年09月04日] 掲載