CVE-2026-74723 in Linux
Сводка
по VulDB • 23.08.2026
В ядре Linux была устранена следующая уязвимость:
btrfs: lzo: отклонять inline-расширения (inline extents) без действительных заголовков
[ОШИБКА]
Для специально созданного образа btrfs может быть вызвана ошибка KASAN при чтении inline-расширения файла со сжатием LZO:
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: <TASK> 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 </TASK>
[ПРИЧИНА]
Для inline-расширения файла со сжатием LZO всегда должен присутствовать один заголовок lzo, содержащий информацию о полной длине сжатых данных, за которым следует один сегментный заголовок (segment header), содержащий данные полезной нагрузки sжатого формата lzo.
Однако если специально созданное inline-расширение файла со сжатием LZO содержит только заголовок lzo без сегментного заголовка или полезной нагрузки, функция lzo_decompress() все равно попытается прочитать сегментный заголовок, что приведет к чтению за пределами границ элемента (item).
Кроме того, если inline-расширение файла со сжатием LZO является первым элементом в листе (leaf), оно будет расположено на границе буфера extent. Вышеуказанное чтение за пределами границ выйдет за пределы буфера extent, что вызовет вышеупомянутое сообщение KASAN.
[ИСПРАВЛЕНИЕ]
Проверить общую длину inline-расширения файла со сжатием LZO, чтобы убедиться в наличии как минимум одного заголовка LZO и одного сегментного заголовка, а также ненулевой полезной нагрузки.
[Переформулировать сообщение коммита для удаления лишних данных (slop)]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.