Linuxカーネルにおいて、以下の脆弱性が修正されました。MIPSでは、グローバルレジスタ変数としてgpが使用される場合のLLVMのバグに対処しました。MIPSにおいて、__current_thread_infoは$gpに位置するグローバルレジスタ変数として定義されており、カーネルのリロケーション中に新しいアドレスが単純に代入されます。しかし、LLVMでは$gpが何らかの形で破壊されたと判断されると、常に$gpを復元します。そのため、意図的にグローバルレジスタ変数を通じて破壊された場合でも復元してしまいます。これは、グローバルレジスタ変数として使用されるcallee-savedレジスタが破壊された場合に復元しないように求めるGCCのドキュメント[1]に反しています。その結果、relocate_kernel()のエピローグ後に$gpはリロケートされていないカーネルを指し続け、そのためinit_idleで早期クラッシュが発生します。本バグはLLVM[2]に報告されており、バージョン18から21(少なくとも)に影響します。修正が広く利用可能になるまで、インラインアセンブリを使用して$gpを代入することでこの問題を回避しています。
Linux Linux Kernel 4.7 以上 5.10.252 未満 Linux Kernel 5.11 以上 5.15.202 未満 Linux Kernel 5.16 以上 6.1.165 未満 Linux Kernel 6.13 以上 6.18.14 未満 Linux Kernel 6.19 以上 6.19.4 未満 Linux Kernel 6.2 以上 6.6.128 未満 Linux Kernel 6.7 以上 6.12.75 未満
・当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
情報不足(CWE-noinfo) [NVD評価]
CVE-2026-46250
National Vulnerability Database (NVD) : CVE-2026-46250 関連文書 : MIPS: Work around LLVM bug when gp is used as global register variable - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e3a6498a63394218561065a9a7a597a204f52f6a) 関連文書 : MIPS: Work around LLVM bug when gp is used as global register variable - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1fe3b402b1e97a1718df3be0a1d3eee20133e735) 関連文書 : MIPS: Work around LLVM bug when gp is used as global register variable - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/561834f6d6f52b8a1791331e94b2aac753491d2a) 関連文書 : MIPS: Work around LLVM bug when gp is used as global register variable - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/30bfc2d6a1132a89a5f1c3b96c59cf3e4d076ea3) 関連文書 : MIPS: Work around LLVM bug when gp is used as global register variable - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/4dc65b40fb80c2020efbf139b9a38d30f9a37b92) 関連文書 : MIPS: Work around LLVM bug when gp is used as global register variable - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/05bff9b0ae095b2420cfebb4a96759a09334bec6) 関連文書 : MIPS: Work around LLVM bug when gp is used as global register variable - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9bc3b0ae5203aba650297fdf3e1e774125e423f2) 関連文書 : MIPS: Work around LLVM bug when gp is used as global register variable - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/c0155dee51b9f5f48aaf5c71cae005eb0e36521f)
[2026年06月10日] 掲載