CVE-2025-71109 in Linux
要約
〜によって VulDB • 2026年06月03日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
MIPS: ftrace - カーネルが32ビットアドレス空間を超えて配置されている場合にメモリ破損が発生する問題を修正
コミット e424054000878(「MIPS: Tracing: Reduce the overhead of dynamic Function Tracer」)以降、マクロ UASM_i_LA_mostly が使用されており、このマクロは2つ以上の命令を生成することがあります。同時に、ftrace のコードでは最大でも2つの命令しか生成されないことを前提としており、それらを int[2] 配列に格納しています。しかし前述の通り、マクロ UASM_i_LA_mostly(および現在の UASM_i_LA)は _mcount が32ビットアドレス空間を超えて配置されている場合にバッファオーバーフローを引き起こします。これにより、__read_mostly セクション内に位置する変数が破損します。
この破損は、変数 __cpu_primary_thread_mask が破損し、起動直後にシステムがハングすることによって観測されました。
本修正では、生成される命令の長さが2を超える可能性がある場合に命令を生成しないことで、メモリ破損を防ぎます。幸いにも insn_la_mcount はインストルメント対象コードがカーネルコードセクションの外側に配置されている場合のみ使用されるため、動的 ftrace を引き続き利用可能ですが、その適用範囲はより限定的になります。これは、メモリが破損したりカーネルがクラッシュしたりする事態に比べれば、依然として望ましい解決策です。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.