Executive brief
A vulnerability in the Linux kernel's GFS2 file system could allow a local user to cause a system crash. The issue occurs when a cluster node attempts to perform a 'self-recovery' after withdrawing from a shared file system. This can lead to a service outage or system instability, affecting the availability of data stored on GFS2 volumes.
Technical details
A vulnerability exists in the GFS2 (Global File System 2) component of the Linux kernel during node withdrawal. When a node is the sole mounter of a filesystem and attempts to withdraw, the 'self-recovery' logic in gfs2_recover_func() dereferences sdp->sd_jdesc->jd_inode. Depending on the kernel version, this results in either a use-after-free or a NULL pointer dereference. An attacker with local access could potentially trigger this condition to cause a kernel panic (Denial of Service). The fix involves removing the problematic self-recovery mechanism, ensuring that recovery is instead handled by the next node to mount the filesystem.
Affected products
- Linux Linux Kernel 5.7 to 6.6.102, 6.7 to 6.12.42, 6.13 to 6.15.10, 6.16 to 6.16.1
Timeline
- 2025-08-22: disclosed: Initial publication of the vulnerability advisory.
- 2025-08-22: advisory: CVE-2025-38659 published to NVD.
References
- https://git.kernel.org/stable/c/1a91ba12abef628b43cada87478328274d988e88
- https://git.kernel.org/stable/c/6784367b2f3cd7b89103de35764f37f152590dbd
- https://git.kernel.org/stable/c/69cf5699a402ee7ae1be53954dc2ae652c0a053c
- https://git.kernel.org/stable/c/6ebe17b359bead383581f729e43f591c1c36e159
- https://git.kernel.org/stable/c/97c94c7dbddc34d353c83b541b3decabf98d04af
- https://git.kernel.org/stable/c/deb016c1669002e48c431d6fd32ea1c20ef41756
- https://git.kernel.org/stable/c/f5426ffbec971a8f7346a57392d3a901bdee5a9b