CVE-2025-38710 in Linuxinformación

Resumen

por VulDB • 2026-06-02

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

gfs2: Validar i_depth para directorios exhash

Una prueba realizada con un fuzzer introdujo una corrupción que resultaba en una profundidad de 0 en dir_e_read(), provocando un desplazamiento indefinido (undefined shift) de 32 bits en:

index = hash >> (32 - dip->i_depth);

Tal como se calcula de forma explícita (open-coded) en dir_make_exhash(), la profundidad mínima para un directorio exhash es ilog2(sdp->sd_hash_ptrs) y 0 es inválido, ya que sdp->sd_hash_ptrs se fija como sdp->bsize / 16 en el momento del montaje.

Por lo tanto, podemos evitar el comportamiento indefinido verificando los valores de profundidad inferiores al mínimo en gfs2_dinode_in(). Los valores superiores al máximo ya se están comprobando allí.

Además, se cambia el cálculo en dir_make_exhash() para utilizar ilog2() y aclarar cómo se calcula la profundidad.

Probado con el repro.c de syzkaller y con xfstests '-g quick'.

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

Responsable

Linux

Reservar

2025-04-16

Divulgación

2025-09-04

Moderación

aceptado

Artículo

VDB-322563

CPE

listo

EPSS

0.00136

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!