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
Recommended remediation
Affected version ranges suggest a fixed boundary. Verify against the vendor advisory for your release.
Official advisories
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.
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
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
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.