Vulnerabilities

Vulnerability · CVE-2025-38710

In the Linux kernel, the following vulnerability has been resolved: gfs2: Validate i_depth for exhash directories A fuzzer test introduced corruption that ends up with a depth of 0

Published Sep 4, 2025 · catalog updated Oct 19, 2026 · Linux Linux

Check if you run it

No confirmed exploitation is on record for CVE-2025-38710. EPSS is 0.16%. Act only if a listed version of Linux Linux is installed.

Gaps on this record

  • No vendor fix or required action is stored. Compare the linked advisory before you change production.
Severity
High7.8
Known exploitation
Not in CISA/VulnCheck KEV
EPSS
0.16%
Remediation
Version ranges on file
Affected products
cpe linux/linux kernel · vendor Linux Linux 9a0045088d888c9c539c8c626a366cb52c0fbdab <cddea0c721106ea480371412d8de21705eb27376

In the Linux kernel, the following vulnerability has been resolved: gfs2: Validate i_depth for exhash directories A fuzzer test introduced corruption that ends up with a depth of 0 in dir_e_read(), causing an undefined shift by 32 at: index = hash >> (32 - dip->i_depth); As calculated in an open-coded way in dir_make_exhash(), the minimum depth for an exhash directory is ilog2(sdp->sd_hash_ptrs) and 0 is invalid as sdp->sd_hash_ptrs is fixed as sdp->bsize / 16 at mount time. So we can avoid the undefined behaviour by checking for depth values lower than the minimum in gfs2_dinode_in(). Values greater than the maximum are already being checked for there. Also switch the calculation in dir_make_exhash() to use ilog2() to clarify how the depth is calculated. Tested with the syzkaller repro.c and xfstests '-g quick'.

Are you affected?

Enter the version you run. The result uses only the ranges stored on this record.

The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.

  • cpe linux/linux kernelversion unspecified
  • vendor Linux Linux 9a0045088d888c9c539c8c626a366cb52c0fbdab <cddea0c721106ea480371412d8de21705eb273769a0045088d888c9c539c8c626a366cb52c0fbdab <cddea0c721106ea480371412d8de21705eb27376

How to fix CVE-2025-38710

What to do

Three questions, each answered from this record only. Confirm the vendor advisory before you patch.

Should you patch?

No confirmed exploitation is on record for CVE-2025-38710. EPSS is 0.16%. Act only if a listed version of Linux Linux is installed.

Which versions are affected?

Compare what you have installed with Linux Linux 9a0045088d888c9c539c8c626a366cb52c0fbdab <cddea0c721106ea480371412d8de21705eb27376 9a0045088d888c9c539c8c626a366cb52c0fbdab <cddea0c721106ea480371412d8de21705eb27376. Compare the installed version with the linked vendor advisory before you change production.

What should an analyst verify?

No weakness class is stored. EPSS 0.16%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Sep 4, 2025 · NIST NVD

    Detected

    In the Linux kernel, the following vulnerability has been resolved: gfs2: Validate i_depth for exhash directories A fuzzer test introduced corruption that ends up with a depth of 0 in dir_e_read(), causing an undefined shift by 32 at: index = hash >> (32 - dip->i_depth); As calculated in an open-coded way in dir_make_exhash(), the minimum depth for an exhash directory is ilog2(sdp->sd_hash_ptrs) a

  2. Oct 15, 2026 · NIST NVD

    Updated

    In the Linux kernel, the following vulnerability has been resolved: gfs2: Validate i_depth for exhash directories A fuzzer test introduced corruption that ends up with a depth of 0 in dir_e_read(), causing an undefined shift by 32 at: index = hash >> (32 - dip->i_depth); As calculated in an open-coded way in dir_make_exhash(), the minimum depth for an exhash directory is ilog2(sdp->sd_hash_ptrs) a

  3. Oct 19, 2026 · NIST NVD

    Updated

    In the Linux kernel, the following vulnerability has been resolved: gfs2: Validate i_depth for exhash directories A fuzzer test introduced corruption that ends up with a depth of 0 in dir_e_read(), causing an undefined shift by 32 at: index = hash >> (32 - dip->i_depth); As calculated in an open-coded way in dir_make_exhash(), the minimum depth for an exhash directory is ilog2(sdp->sd_hash_ptrs) a

Sources

  • CVE.orgVulnerability recordCVE-2025-38710

    Official CVE identifier

    cve.org
  • FIRST EPSSExploitation probabilityCVE-2025-38710

    30-day exploitation probability 0.2%

    first.org
  • EUVDVulnerability recordEUVD-2025-26759

    In the Linux kernel, the following vulnerability has been resolved: gfs2: Validate i_depth for exhash directories A fuzzer test introduced corruption that ends up with a depth of 0 in dir_e_read(), causing an undefined shift by 32 at: index = hash >> (32 - dip->i_depth); As calcu

    euvd.enisa.europa.eu
  • NIST NVDVulnerability recordCVE-2025-38710

    In the Linux kernel, the following vulnerability has been resolved: gfs2: Validate i_depth for exhash directories A fuzzer test introduced corruption that ends up with a depth of 0 in dir_e_read(), causing an undefined shift by 32 at: index = hash >> (32 - dip->i_depth); As

    nvd.nist.gov

References

Freshness

Last verified in this catalog Oct 18, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.