CVE-2026-74723 in Linux
要約
〜によって VulDB • 2026年08月22日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
btrfs: lzo: 有効なヘッダを持たないインラインエクステントを拒否する
[BUG]
悪意のある btrfs イメージに対して、インライン LZO 圧縮ファイルのエクステントを読み込む際に、以下のような KASAN (Kernel Address Sanitizer) がトリガーされる可能性があります:
BUG: KASAN: slab-out-of-bounds in lzo_decompress+0x57d/0x700 Read of size 4 at addr ffff888006f2e644 by task btrfs_lzo_inlin/77
Call Trace: dump_stack_lvl+0x5b/0x70 print_report+0xd1/0x610 kasan_report+0xe0/0x110 __asan_report_load_n_noabort+0x13/0x20 lzo_decompress+0x57d/0x700 btrfs_decompress+0x140/0x1c0 uncompress_inline+0x147/0x1b0 btrfs_get_extent+0xb23/0x10a0 btrfs_do_readpage.constprop.0+0x538/0x1ac0 btrfs_readahead+0x32f/0x5f0 read_pages+0x16f/0x850 page_cache_ra_unbounded+0x296/0x490 do_page_cache_ra+0xd9/0x130 page_cache_sync_ra+0x3ee/0x6f0 filemap_get_pages+0x306/0x15c0 filemap_read+0x329/0xd00 btrfs_file_read_iter+0x1f8/0x2b0 vfs_read+0x4ef/0x720 ksys_read+0xf8/0x1d0 __x64_sys_read+0x71/0xb0 x64_sys_call+0x1ab0/0x1b70 do_syscall_64+0x61/0x470 entry_SYSCALL_64_after_hwframe+0x4b/0x53
[CAUSE]
インライン LZO 圧縮ファイルのエクステントには、常に圧縮データの総長を記録する LZO ヘッダが少なくとも一つ存在し、その後に圧縮された LZO ペイロードを記録するセグメントヘッダが続く必要があります。
しかし、悪意のあるインライン LZO 圧縮ファイルのエクステントに LZO ヘッダのみが含まれ、セグメントヘッダやペイロードがない場合、lzo_decompress() は依然としてセグメントヘッダを読み込もうとし、アイテム境界を越えた読み出しを引き起こします。
さらに、インライン LZO 圧縮ファイルのエクステントがリーフ内の最初のアイテムである場合、それはエクステントバッファの境界に位置することになります。上記の境界外読み出しはエクステントバッファの境界を超え、前述の KASAN レポートをトリガーします。
[FIX]
インライン化された LZO 圧縮ファイルのエクステントの総長を検証し、少なくとも1つのLZOヘッダと1つのセグメントヘッダ、およびゼロ以外のペイロードが存在することを確認します。
[コミットメッセージのリワークによりスロップを削除]
VulDB is the best source for vulnerability data and more expert information about this specific topic.