CVE-2025-38710gfs2: Validate i_depth for exhash directories
- 7.8HighCVSS base score
- 0.16%Exploitation in 30 daysEPSS · top 94% of all CVEs
- NoKnown exploitednot in CISA's KEV catalog
- NonePublic exploitsnone known yet
Description
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'.
Timeline
ID reserved
By Linux
- 5 months later
· 5 months later
Published
- 14 months later
· 14 months later
Record updated
Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| LinuxCNA (assigner) | 3.1 | High7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVDNVD · Modified | 3.1 | Medium5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
- EPSS (exploitation in 30 days)
- 0.16% · top 94% of all CVEs (13 Nov 2026)
- CISA SSVC
- Exploitation: none · Automatable: no · Technical impact: total
The list uses the assigner's score when there is one, then CISA's, then NVD's: High 7.8.
Affected products
- affected 9a0045088d888c9c539c8c626a366cb52c0fbdab – < 076e992752e4b24178918f748d75597c80a408d2
- affected 9a0045088d888c9c539c8c626a366cb52c0fbdab – < 366183911b153e9b8cf758e1414e1154d7569337
- affected 9a0045088d888c9c539c8c626a366cb52c0fbdab – < 112bb60cd0e254a369e95aa9941a694ffeca089f
- affected 9a0045088d888c9c539c8c626a366cb52c0fbdab – < cddea0c721106ea480371412d8de21705eb27376
- affected 9a0045088d888c9c539c8c626a366cb52c0fbdab – < 53a0249d68a210c16e961b83adfa82f94ee0a53d
- affected 9a0045088d888c9c539c8c626a366cb52c0fbdab – < b5f46951e62377b6e406fadc18bc3c5bdf1632a7
- affected 9a0045088d888c9c539c8c626a366cb52c0fbdab – < 9680c58675b82348ab84d387e4fa727f7587e1a0
- affected 9a0045088d888c9c539c8c626a366cb52c0fbdab – < 557c024ca7250bb65ae60f16c02074106c2f197b
- affected 2.6.26
- unaffected < 2.6.26
- unaffected 5.10.258 – ≤ 5.10.*
- unaffected 5.15.209 – ≤ 5.15.*
- unaffected 6.1.175 – ≤ 6.1.*
- unaffected 6.6.134 – ≤ 6.6.*
- unaffected 6.12.43 – ≤ 6.12.*
- unaffected 6.15.11 – ≤ 6.15.*
- unaffected 6.16.2 – ≤ 6.16.*
- unaffected 6.17 – ≤ *
References
References8
- https://git.kernel.org/stable/c/076e992752e4b24178918f748d75597c80a408d2 (opens in a new tab)
- https://git.kernel.org/stable/c/366183911b153e9b8cf758e1414e1154d7569337 (opens in a new tab)
- https://git.kernel.org/stable/c/112bb60cd0e254a369e95aa9941a694ffeca089f (opens in a new tab)
- https://git.kernel.org/stable/c/cddea0c721106ea480371412d8de21705eb27376 (opens in a new tab)
- https://git.kernel.org/stable/c/53a0249d68a210c16e961b83adfa82f94ee0a53d (opens in a new tab)
- https://git.kernel.org/stable/c/b5f46951e62377b6e406fadc18bc3c5bdf1632a7 (opens in a new tab)
- https://git.kernel.org/stable/c/9680c58675b82348ab84d387e4fa727f7587e1a0 (opens in a new tab)
- https://git.kernel.org/stable/c/557c024ca7250bb65ae60f16c02074106c2f197b (opens in a new tab)
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- EUVD EUVD-2025-26759 (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://cveledger.app/cve/CVE-2025-38710)Record last updated .