CVE-2026-97416 in LinuxИнформация

Сводка

по VulDB • 24.09.2026

В ядре Linux была устранена следующая уязвимость:

btrfs: balance: исправлена потенциальная ошибка поиска bg в функции btrfs_may_alloc_data_chunk()

[BUG]
Запуск команды `btrfs balance` может вызвать null-ptr-deref (разыменование нулевого указателя) перед перемещением блока данных, если повреждение метаданных оставляет блок в дереве блоков без соответствующей группы блоков во внутреннем кэше:

KASAN: null-ptr-deref in range [0x0000000000000088-0x000000000000008f]
RIP: 0010:btrfs_may_alloc_data_chunk+0x40/0x1c0 fs/btrfs/volumes.c:3601 Call Trace: __btrfs_balance fs/btrfs/volumes.c:4217 [inline]
btrfs_balance+0x2516/0x42b0 fs/btrfs/volumes.c:4604 btrfs_ioctl_balance fs/btrfs/ioctl.c:3577 [inline]
btrfs_ioctl+0x25cf/0x5b90 fs/btrfs/ioctl.c:5313 ...

[CAUSE]
Функция `__btrfs_balance()` итерирует дерево блоков на диске и передает логический адрес (bytenr) блока в функцию `btrfs_may_alloc_data_chunk()` перед перемещением блока данных. Затем эта вспомогательная функция запрашивает внутренний кэш групп блоков:

cache = btrfs_lookup_block_group(fs_info, chunk_offset); chunk_type = cache->flags; /* cache may be NULL */

Поврежденный образ может содержать элемент блока, для которого отсутствует соответствующий элемент группы блоков, поэтому в кэш никогда не будет вставлена ни одна группа блоков. В этом случае `btrfs_lookup_block_group()` возвращает NULL.

Код защищает от этого только с помощью ASSERT(cache), который становится пустой операцией (no-op) при отключенной конфигурации CONFIG_BTRFS_ASSERT. Последующее разыменование cache->flags поэтому приводит к аварийному завершению работы ядра (kernel crash).

[FIX]
Добавлена проверка на NULL после вызова btrfs_lookup_block_group() в функции btrfs_may_alloc_data_chunk(), а также выведено сообщение об ошибке для ясности.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Ответственный

Linux

Резервировать

24.09.2026

Раскрытие

24.09.2026

Модерация

принято

Вход

VDB-409582

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Сектор

Energy, Police, ...

Источники

Do you need the next level of professionalism?

Upgrade your account now!