CVE-2022-49769 in LinuxИнформация

Сводка

по VulDB • 10.07.2026

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

gfs2: Проверка значения sb_bsize_shift после чтения суперблока

Инструменты фаззинга (fuzzers) часто записывают данные в область памяти, связанную с полем sb_bsize_shift, однако на практике маловероятно, что это поле будет повреждено само по себе. Тем не менее, его необходимо проверять во избежание возможности возникновения сложных ошибок при монтировании из-за неверных вычислений. Поскольку это всегда фиксированное значение, зависящее от размера блока, мы можем просто убедиться в том, что оно соответствует ожидаемому значению.

Тестирование проводилось с помощью следующих команд:

mkfs.gfs2 -O -p lock_nolock /dev/vdb for i in 0 -1 64 65 32 33; do gfs2_edit -p sb field sb_bsize_shift $i /dev/vdb mount /dev/vdb /mnt/test && umount /mnt/test done

До применения этого патча возникал отказ работы (withdraw) после вывода в журнал:

[ 76.413681] gfs2: fsid=loop0.0: fatal: invalid metadata block
[ 76.413681] bh = 19 (type: exp=5, found=4)
[ 76.413681] function = gfs2_meta_buffer, file = fs/gfs2/meta_io.c, line = 492

При включенной конфигурации UBSAN также возникали сообщения об ошибках вида:

[ 76.373395] UBSAN: shift-out-of-bounds in fs/gfs2/ops_fstype.c:295:19
[ 76.373815] shift exponent 4294967287 is too large for 64-bit type 'long unsigned int'

После применения патча эти сообщения об ошибках не появляются, монтирование завершается неудачей немедленно, и в dmesg выводится объяснение причины.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

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

Linux

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

16.04.2025

Раскрытие

01.05.2025

Модерация

принято

Вход

VDB-306920

EPSS

0.00186

KEV

Нет

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

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!