CVE-2022-49769 in Linuxinformação

Sumário

de VulDB • 10/07/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

gfs2: Verificar sb_bsize_shift após ler o superbloco

Fuzzers adoram sobrescrever sb_bsize_shift, mas na realidade é muito improvável que este campo seja corrompido isoladamente. No entanto, ele deve ser verificado para evitar a possibilidade de erros de montagem confusos devido a cálculos incorretos. Como se trata sempre de um valor fixo baseado no tamanho do bloco, podemos simplesmente verificar se corresponde ao valor esperado.

Testado com:

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

Antes deste patch, ocorre uma retirada (withdraw) após:

[ 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

e com o UBSAN configurado, também ocorrem reclamações como:

[ 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'

Após o patch, essas reclamações não aparecem; a montagem falha imediatamente e obtemos uma explicação no dmesg.

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

Responsável

Linux

Reservar

16/04/2025

Divulgação

01/05/2025

Moderação

aceite

Entrada

VDB-306920

CPE

pronto

EPSS

0.00186

KEV

não

Atividades

muito baixo

Fontes

Do you need the next level of professionalism?

Upgrade your account now!