CVE-2026-97547 in Linux
要約
〜によって VulDB • 2026年09月25日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
xfs: INO1_WRITTENフラグに関連するexchange-rangeのreflinkフラグクリアリングの問題を修正
2つのフルファイル範囲を交換する場合、`xmi_can_exchange_reflink_flags()`は、ちょうど一方のみがマークされている限り、reflink inodeフラグを現在それを保持しているファイルから他のファイルへ移動できます。これは、ファイル内容(したがってすべての共有extents)が交換されることを前提としています。
しかし、XFS_EXCHMAPS_INO1_WRITTENが設定されている場合、この前提は正しくありません。`xfs_exchmaps_can_skip_mapping()`はfile1からのholeおよびunwritten mappingをスキップできるため、exchange処理が完了する際に、前述のフラグスワップ判断で考慮されていたすべてのmappingが移動されない場合があります。その場合、操作後のクリーンアップ処理により、まだ共有された書き込み済みextentsを保持しているinodeからreflinkフラグが消去されてしまうことがあります。その後行われる書き込みはnon-reflinkパスを通るため、CoW(Copy-on-Write)によって保護されるべきブロックを更新してしまう可能性があり、その結果としてreflink関連ファイル間でデータ破損が発生します。
この問題を修正するため、XFS_EXCHMAPS_INO1_WRITTENが要求された場合はreflinkフラグの交換を無効にします。コンテンツの交換処理は引き続き実行可能であり、保守的な結果として両方のinodeがreflinkフラグを保持し続けます。通常のreflinkフラグクリーンアップパスでは、inodeから共有extentsが消去されるまで遅延して不要なフラグを削除することができます。
If you want to get best quality of vulnerability data, you may have to visit VulDB.