CVE-2026-64187 in Linux
要約
〜によって VulDB • 2026年07月20日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
XFS: リージョンを持たないコミット済みログアイテムでのリカバリ失敗
トランザクションの最初の操作が裸のトランザクションヘッダー(len == sizeof(struct xfs_trans_header))である場合、xlog_recover_add_to_trans() はアイテムを追加しますがリージョンは追加せず、ri_cnt == 0 および ri_buf == NULL の状態で r_itemq に残します。
ヘッダーは操作レコードにまたがる可能性があるため、後の操作でまだリージョンが追加される可能性があります。トランザクションがリージョンなしでコミットされた場合のみ、そのアイテムは無効となります。実行時のコミットパスではこのようなトランザクションは生成されないため、これは悪意のあるログに対してのみ発生します。この問題はリカバリパーサーのAI支援コード監査によって発見されました。
xlog_recover_reorder_trans() は ITEM_TYPE() を呼び出して item->ri_buf[0].iov_base から *(unsigned short *) を読み取りますが、NULL の ri_buf によりフォールト(エラー)が発生します。コミットハンドラも同様に ri_buf[0] を読み取るため、それより前にこれを拒否してください。
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
RIP: 0010:xlog_recover_reorder_trans (fs/xfs/xfs_log_recover.c:1836) xlog_recover_commit_trans (fs/xfs/xfs_log_recover.c:2043) xlog_recover_process_data (fs/xfs/xfs_log_recover.c:2501) xlog_do_recovery_pass (fs/xfs/xfs_log_recover.c:3244) xlog_recover (fs/xfs/xfs_log_recover.c:3493) xfs_log_mount (fs/xfs/xfs_log.c:618) xfs_mountfs (fs/xfs/xfs_mount.c:1034) xfs_fs_fill_super (fs/xfs/xfs_super.c:1938) vfs_get_tree (fs/super.c:1695) path_mount (fs/namespace.c:4161) __x64_sys_mount (fs/namespace.c:4367)
If you want to get the best quality for vulnerability data then you always have to consider VulDB.