CVE-2025-38659
Medium · 5.5CVSS
5.5
EPSS
0.2%
Published
Aug 22, 2025
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel's clustered filesystem code can cause the whole system to crash when a machine tries to fix its own storage after a problem, leading to unexpected downtime.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
NULL pointer dereference in gfs2_recover_func during attempted self-recovery of a GFS2 journal after node withdraw when the node is the sole mount; stems from dereferencing sd_jdesc->jd_inode after the recovery path is disabled.
Why it matters to the business
Local denial of service that can crash the kernel on systems using GFS2 clustered filesystems, leading to unplanned downtime and potential data unavailability until reboot; low public exploitability but still requires patching on affected kernels.
How an attack unfolds
An attacker with local access triggers a GFS2 withdraw on a node that is the only one mounting the filesystem, causing the recovery function to execute and hit the NULL dereference before any journal replay can occur.
How to fix it
Upgrade to a fixed kernel containing commit 1a91ba12abef628b43cada87478328274d988e88 or later; for packaged distributions apply the vendor update that removes the self-recovery logic.
How to confirm the fix worked
Confirm the running kernel contains the fix commit or the updated package version; attempt to reproduce the withdraw scenario in a test environment and verify no NULL dereference occurs.
Typical attack path
- Obtain local shell or code execution on a system with GFS2 mounted
- Trigger filesystem withdraw condition while the node is the sole mount
- Force gfs2_recover_func to dereference the now-NULL jd_inode pointer
- Kernel oops and panic resulting in denial of service
How to detect it
Search kernel logs for GFS2 withdraw messages followed immediately by NULL pointer dereference in gfs2_recover_func or sd_jdesc references; examine crash dumps for the same call path.
- gfs2_recover_func
- sdp->sd_jdesc->jd_inode
- GFS2: withdraw
- NULL pointer dereference
What your security team should do
- Prioritize kernel updates on any systems running GFS2 in production
- Review GFS2 usage and consider disabling or migrating if self-recovery behavior is relied upon
- Monitor for kernel oops logs related to gfs2_recover_func
The record
In the Linux kernel, the following vulnerability has been resolved: gfs2: No more self recovery When a node withdraws and it turns out that it is the only node that has the filesystem mounted, gfs2 currently tries to replay the local journal to bring the filesystem back into a consistent state. Not only is that a very bad idea, it has also never worked because gfs2_recover_func() will refuse to do anything during a withdraw. However, before even getting to this point, gfs2_recover_func() dereferences sdp->sd_jdesc->jd_inode. This was a use-after-free before commit 04133b607a78 ("gfs2: Prevent double iput for journal on error") and is a NULL pointer dereference since then. Simply get rid of self recovery to fix that.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | No fix |
| Debian:12 | linux | 0 | No fix |
| Debian:13 | linux | 0 | No fix |
| Debian:14 | linux | 0 | No fix |
| Debian:14 | linux | 0 | 6.16.3-1 |
| Linux | Kernel | 5.7.0 | 6.6.102 |
| Mageia:9 | kernel | 0 | 6.6.105-1.mga9 |
| Mageia:9 | kernel-linus | 0 | 6.6.105-1.mga9 |
| Mageia:9 | kmod-virtualbox | 0 | 7.1.10-10.mga9 |
| Mageia:9 | kmod-xtables-addons | 0 | 3.24-86.mga9 |
| Mageia:9 | mageia-repos | 0 | 9-4.mga9 |
| Mageia:9 | meta-task | 0 | 9-4.mga9 |
| SUSE:Linux Enterprise High Availability Extension 15 SP4 | kernel-default | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Availability Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-64kb | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-default | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-default-base | 0 | 5.14.21-150400.24.179.1.150400.24.92.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-docs | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-obs-build | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-source | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-syms | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-64kb | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-default | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-default-base | 0 | 5.14.21-150400.24.179.1.150400.24.92.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-docs | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-obs-build | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-source | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-syms | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-64kb | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-default | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-default-base | 0 | 5.14.21-150500.55.124.1.150500.6.59.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-docs | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-obs-build | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-source | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-syms | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | kernel-64kb | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | kernel-default | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | kernel-default-base | 0 | 5.14.21-150500.55.124.1.150500.6.59.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | kernel-docs | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | kernel-obs-build | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | kernel-source | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | kernel-syms | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Live Patching 15 SP4 | kernel-default | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Live Patching 15 SP4 | kernel-livepatch-SLE15-SP4_Update_45 | 0 | 1-150400.9.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_31 | 0 | 1-150500.11.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_16 | 0 | 1-150600.1.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_16 | 0 | 1-150600.13.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_5 | 0 | 1-150700.1.3.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-default | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-default-base | 0 | 5.14.21-150400.24.179.1.150400.24.92.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-rt | 0 | 5.14.21-150400.15.133.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-source-rt | 0 | 5.14.21-150400.15.133.1 |
| SUSE:Linux Enterprise Micro 5.4 | kernel-default | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Micro 5.4 | kernel-default-base | 0 | 5.14.21-150400.24.179.1.150400.24.92.1 |
| SUSE:Linux Enterprise Micro 5.4 | kernel-rt | 0 | 5.14.21-150400.15.133.1 |
| SUSE:Linux Enterprise Micro 5.4 | kernel-source-rt | 0 | 5.14.21-150400.15.133.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-default | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-default-base | 0 | 5.14.21-150500.55.124.1.150500.6.59.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-rt | 0 | 5.14.21-150500.13.109.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-source | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-source-rt | 0 | 5.14.21-150500.13.109.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-64kb | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default-base | 0 | 6.4.0-150600.23.73.1.150600.12.32.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-docs | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-obs-build | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-syms | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-azure | 0 | 6.4.0-150600.8.52.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-source-azure | 0 | 6.4.0-150600.8.52.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-syms-azure | 0 | 6.4.0-150600.8.52.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-64kb | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-default | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-default-base | 0 | 5.14.21-150400.24.179.1.150400.24.92.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-docs | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-obs-build | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-source | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-syms | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-zfcpdump | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | kernel-64kb | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | kernel-default | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | kernel-default-base | 0 | 5.14.21-150500.55.124.1.150500.6.59.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | kernel-docs | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | kernel-obs-build | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | kernel-source | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | kernel-syms | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | kernel-zfcpdump | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-default | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-default-base | 0 | 5.14.21-150400.24.179.1.150400.24.92.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-docs | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-obs-build | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-source | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | kernel-syms | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | kernel-default-base | 0 | 5.14.21-150500.55.124.1.150500.6.59.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | kernel-docs | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | kernel-obs-build | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | kernel-source | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | kernel-syms | 0 | 5.14.21-150500.55.124.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.73.1 |
| SUSE:Manager Proxy LTS 4.3 | kernel-default | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Manager Proxy LTS 4.3 | kernel-default-base | 0 | 5.14.21-150400.24.179.1.150400.24.92.1 |
| SUSE:Manager Proxy LTS 4.3 | kernel-source | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Manager Proxy LTS 4.3 | kernel-syms | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Manager Server LTS 4.3 | kernel-default | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Manager Server LTS 4.3 | kernel-default-base | 0 | 5.14.21-150400.24.179.1.150400.24.92.1 |
| SUSE:Manager Server LTS 4.3 | kernel-source | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Manager Server LTS 4.3 | kernel-syms | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Manager Server LTS 4.3 | kernel-zfcpdump | 0 | 5.14.21-150400.24.179.1 |
| SUSE:Real Time Module 15 SP6 | kernel-rt | 0 | 6.4.0-150600.10.55.1 |
| SUSE:Real Time Module 15 SP6 | kernel-rt_debug | 0 | 6.4.0-150600.10.55.1 |
| SUSE:Real Time Module 15 SP6 | kernel-source-rt | 0 | 6.4.0-150600.10.55.1 |
| SUSE:Real Time Module 15 SP6 | kernel-syms-rt | 0 | 6.4.0-150600.10.55.1 |
| SUSE:Real Time Module 15 SP7 | kernel-rt | 0 | 6.4.0-150700.7.19.1 |
| SUSE:Real Time Module 15 SP7 | kernel-source-rt | 0 | 6.4.0-150700.7.19.1 |
| SUSE:Real Time Module 15 SP7 | kernel-syms-rt | 0 | 6.4.0-150700.7.19.1 |
| openSUSE:Leap 15.6 | dtb-aarch64 | 0 | 6.4.0-150600.23.73.1 |
| openSUSE:Leap 15.6 | kernel-64kb | 0 | 6.4.0-150600.23.73.1 |
| openSUSE:Leap 15.6 | kernel-azure | 0 | 6.4.0-150600.8.52.1 |
| openSUSE:Leap 15.6 | kernel-debug | 0 | 6.4.0-150600.23.73.1 |
| openSUSE:Leap 15.6 | kernel-default | 0 | 6.4.0-150600.23.73.1 |
| openSUSE:Leap 15.6 | kernel-default-base | 0 | 6.4.0-150600.23.73.1.150600.12.32.1 |
| openSUSE:Leap 15.6 | kernel-docs | 0 | 6.4.0-150600.23.73.1 |
| openSUSE:Leap 15.6 | kernel-kvmsmall | 0 | 6.4.0-150600.23.73.1 |
| openSUSE:Leap 15.6 | kernel-obs-build | 0 | 6.4.0-150600.23.73.1 |
| openSUSE:Leap 15.6 | kernel-obs-qa | 0 | 6.4.0-150600.23.73.1 |
| openSUSE:Leap 15.6 | kernel-rt | 0 | 6.4.0-150600.10.55.1 |
| openSUSE:Leap 15.6 | kernel-rt_debug | 0 | 6.4.0-150600.10.55.1 |
| openSUSE:Leap 15.6 | kernel-source | 0 | 6.4.0-150600.23.73.1 |
| openSUSE:Leap 15.6 | kernel-source-azure | 0 | 6.4.0-150600.8.52.1 |
| openSUSE:Leap 15.6 | kernel-source-rt | 0 | 6.4.0-150600.10.55.1 |
| openSUSE:Leap 15.6 | kernel-syms | 0 | 6.4.0-150600.23.73.1 |
| openSUSE:Leap 15.6 | kernel-syms-azure | 0 | 6.4.0-150600.8.52.1 |
| openSUSE:Leap 15.6 | kernel-syms-rt | 0 | 6.4.0-150600.10.55.1 |
| openSUSE:Leap 15.6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.73.1 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.6.1.160000.2.4 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.6.1 |
Related vulnerabilities
- CVE-2025-39885 In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive… Also affects linux
- CVE-2025-39883 In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure… Also affects linux
- CVE-2025-39876 In the Linux kernel, the following vulnerability has been resolved: net: fec: Fix… Also affects linux
- CVE-2025-39869 In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: edma… Also affects linux
- CVE-2025-39873 In the Linux kernel, the following vulnerability has been resolved: can: xilinx_can… Also affects linux
- CVE-2025-39863 In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix… Also affects linux
- CVE-2025-39865 In the Linux kernel, the following vulnerability has been resolved: tee: fix NULL pointer… Also affects linux
- CVE-2025-39866 In the Linux kernel, the following vulnerability has been resolved: fs: writeback: fix… Also affects linux