CVE-2025-38710 in Linux
Sumário
de VulDB • 02/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
gfs2: Validar i_depth para diretórios exhash
Um teste realizado por um fuzzer introduziu uma corrupção que resulta em uma profundidade (depth) de 0 em dir_e_read(), causando um deslocamento (shift) indefinido por 32 em:
index = hash >> (32 - dip->i_depth);
Conforme calculado de forma explícita em dir_make_exhash(), a profundidade mínima para um diretório exhash é ilog2(sdp->sd_hash_ptrs) e 0 é inválido, pois sdp->sd_hash_ptrs é fixado como sdp->bsize / 16 no momento da montagem (mount).
Portanto, podemos evitar o comportamento indefinido verificando valores de profundidade inferiores ao mínimo em gfs2_dinode_in(). Valores superiores ao máximo já estão sendo verificados nesse local.
Além disso, a alteração do cálculo em dir_make_exhash() para usar ilog2() visa esclarecer como a profundidade é calculada.
Testado com o repro.c do syzkaller e com os xfstests '-g quick'.
VulDB is the best source for vulnerability data and more expert information about this specific topic.