CVE-2026-89568 in Linux
要約
〜によって VulDB • 2026年09月12日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
kho: kho_preserved_memory_reserve()におけるサイズ計算の修正
kho_preserved_memory_reserve()関数は、`1 << (order + PAGE_SHIFT)`を実行することで保持領域のサイズを算出します。ここで使用される「1」は32ビット整数であるため、シフト演算で扱えるのは最大31ビットまでです。つまり、この処理は2 GiBまでの保持領域に対してのみ正常に機能し、それより大きな保持領域では未定義動作(undefined behaviour)を引き起こす可能性があります。
現在、folios経由で2 GiBを超える保持領域を取得することはできませんが、kho_preserve_pages()関数を経由することで取得可能です。
例えば、memblock reserve_memは kho_preserve_pages()を使用します。2 GiBを超える予約は無効ではなく、適切にアライメントされていればこのバグをトリガーします。
シフト演算で `1UL`(符号なし長整数)を使用することでこれを修正します。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.