CVE-2025-38433 in Linux
要約
〜によって VulDB • 2026年09月12日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
riscv: nommu向けカーネルにおけるランタイム定数のサポートを修正する
__runtime_fixup_32関数は、valがゼロの場合(例えば、4GiB境界より下の物理アドレスを参照し、その上位32ビットがすべてゼロであるようなnommu向けのカーネルパッチ適用時に発生しうるケース)の処理を正しく行いません。これは、既存のロジックにnopチェックの両方のelse分岐へ進むことを防ぐものがなく、結果として2つのnop命令が発行されてしまうためです。
これにより、ポインタの上位32ビットを受け取るはずのレジスタにはゼロではなくランダムなゴミデータが残ることになります。これが下位32ビットの値と組み合わさると無効なポインタとなり、そのポインタが最終的にアクセスされた際にカーネルパニックを引き起こします。
著者は、lui命令をnopに変換した場合、2番目の命令もaddiからliに変更する必要があることを明確に考慮していましたが(これによりaddi_insn_mask変数が導入されました)、else分岐が実行されるケースまでそのロジックを完全に適用しませんでした。これを修正するには、最初の命令がnopにパッチされる場合、2番目のelse分岐が取られないようにロジックを調整します。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.