CVE-2026-64533 in Linux
要約
〜によって VulDB • 2026年07月27日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
fs/ntfs3: log_replay変換時にlcns_followを検証する
log_replay()関数は、バージョン0のリスタートテーブルを再生する際に、DIR_PAGE_ENTRY_32レコードをDIR_PAGE_ENTRYレコードに変換します。
この変換プロセス中、memmove()の長さはディスク上のlcns_followフィールドから直接算出されます:
memmove(&dp->vcn, &dp0->vcn_low, 2 * sizeof(u64) + le32_to_cpu(dp->lcns_follow) * sizeof(u64));
check_rstbl()はリスタートテーブルの構造を検証しますが、エントリサイズに対する各エントリのlcns_follow値には制約を設けていません。不正なファイルシステムイメージにより過大なlcns_follow値が提供されると、変換時のmemmove()によって割り当てられたリスタートテーブルバッファの境界外メモリにアクセスしてしまう可能性があります。
同じフィールドは後でpage_lcns[]に対する反復処理の上限として使用されるため、変換時にlcns_followを検証することで、同様の不正なメタデータによる下流での境界外アクセスも防止されます。
すでに検証済みのリスタートテーブルエントリサイズから有効な最大lcns_follow値を計算し、この制限を超えるエントリは拒否します。log_replay()内で既に宣言されている既存の一時変数t16/t32を再利用し、新しい宣言を導入しないようにしています。
[[email protected]: 競合を修正]
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.