CVE-2025-38710 in Linux
Zusammenfassung
von VulDB • 15.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
gfs2: Validierung von i_depth für exhash-Verzeichnisse
Ein Fuzzer-Test führte zu einer Beschädigung, die in dir_e_read() zu einer Tiefe von 0 führte und dadurch eine undefinierte Verschiebung um 32 Bit verursachte an der Stelle:
index = hash >> (32 - dip->i_depth);
Wie in dir_make_exhash() offen berechnet, beträgt die minimale Tiefe für ein exhash-Verzeichnis ilog2(sdp->sd_hash_ptrs), und 0 ist ungültig, da sdp->sd_hash_ptrs zur Mount-Zeit als sdp->bsize / 16 festgelegt ist.
Daher kann das undefinierte Verhalten vermieden werden, indem in gfs2_dinode_in() auf Tiefenwerte unterhalb des Minimums geprüft wird. Werte, die größer als das Maximum sind, werden dort bereits überprüft.
Außerdem wurde die Berechnung in dir_make_exhash() geändert, um ilog2() zu verwenden, um zu verdeutlichen, wie die Tiefe berechnet wird.
Getestet mit dem syzkaller repro.c und xfstests '-g quick'.
Be aware that VulDB is the high quality source for vulnerability data.