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 gfs2recoverfunc() will refuse to do anything during a withdraw.
However, before even getting to this point, gfs2recoverfunc() dereferences sdp->sdjdesc->jdinode. 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.
[
{
"target": {
"function": "signal_our_withdraw",
"file": "fs/gfs2/util.c"
},
"digest": {
"length": 3463.0,
"function_hash": "265513320229776095550631247883451313634"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f5426ffbec971a8f7346a57392d3a901bdee5a9b",
"deprecated": false,
"id": "CVE-2025-38659-26dca087",
"signature_type": "Function"
},
{
"target": {
"file": "fs/gfs2/util.c"
},
"digest": {
"line_hashes": [
"36264951810236481392200447760592641086",
"98897975552702162684813859849876477541",
"107389829039655517709329524162787348806",
"268238272129951181615396168914951934111",
"23717218349719817662223255693570899515",
"34596104249076516446227117136995682103",
"218649381607420802568160074544121722666",
"201432143209625791089541569747935879771",
"6705292291090182108849407021396388878",
"215830012839040400895831917390225423869",
"46856093587620931144874969582827579162",
"313102432761259776813122623424306674059",
"82250059109169475701268783503308857626",
"327453172964183083956365484358962231072",
"140229247399477074392808223501447075119",
"172199329064274661602254805280309863398",
"92928883604980956657200200823755256140"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a91ba12abef628b43cada87478328274d988e88",
"deprecated": false,
"id": "CVE-2025-38659-3037c601",
"signature_type": "Line"
},
{
"target": {
"function": "signal_our_withdraw",
"file": "fs/gfs2/util.c"
},
"digest": {
"length": 3463.0,
"function_hash": "265513320229776095550631247883451313634"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97c94c7dbddc34d353c83b541b3decabf98d04af",
"deprecated": false,
"id": "CVE-2025-38659-47180e3f",
"signature_type": "Function"
},
{
"target": {
"file": "fs/gfs2/util.c"
},
"digest": {
"line_hashes": [
"36264951810236481392200447760592641086",
"98897975552702162684813859849876477541",
"107389829039655517709329524162787348806",
"268238272129951181615396168914951934111",
"23717218349719817662223255693570899515",
"34596104249076516446227117136995682103",
"218649381607420802568160074544121722666",
"201432143209625791089541569747935879771",
"6705292291090182108849407021396388878",
"215830012839040400895831917390225423869",
"46856093587620931144874969582827579162",
"313102432761259776813122623424306674059",
"82250059109169475701268783503308857626",
"327453172964183083956365484358962231072",
"140229247399477074392808223501447075119",
"172199329064274661602254805280309863398",
"92928883604980956657200200823755256140"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@deb016c1669002e48c431d6fd32ea1c20ef41756",
"deprecated": false,
"id": "CVE-2025-38659-6a281fa3",
"signature_type": "Line"
},
{
"target": {
"function": "signal_our_withdraw",
"file": "fs/gfs2/util.c"
},
"digest": {
"length": 3457.0,
"function_hash": "253772621846345970487855278574264443628"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a91ba12abef628b43cada87478328274d988e88",
"deprecated": false,
"id": "CVE-2025-38659-a616da57",
"signature_type": "Function"
},
{
"target": {
"file": "fs/gfs2/util.c"
},
"digest": {
"line_hashes": [
"36264951810236481392200447760592641086",
"98897975552702162684813859849876477541",
"107389829039655517709329524162787348806",
"268238272129951181615396168914951934111",
"23717218349719817662223255693570899515",
"34596104249076516446227117136995682103",
"218649381607420802568160074544121722666",
"201432143209625791089541569747935879771",
"6705292291090182108849407021396388878",
"215830012839040400895831917390225423869",
"46856093587620931144874969582827579162",
"313102432761259776813122623424306674059",
"82250059109169475701268783503308857626",
"327453172964183083956365484358962231072",
"140229247399477074392808223501447075119",
"172199329064274661602254805280309863398",
"92928883604980956657200200823755256140"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97c94c7dbddc34d353c83b541b3decabf98d04af",
"deprecated": false,
"id": "CVE-2025-38659-ac5ce86b",
"signature_type": "Line"
},
{
"target": {
"file": "fs/gfs2/util.c"
},
"digest": {
"line_hashes": [
"36264951810236481392200447760592641086",
"98897975552702162684813859849876477541",
"107389829039655517709329524162787348806",
"268238272129951181615396168914951934111",
"23717218349719817662223255693570899515",
"34596104249076516446227117136995682103",
"218649381607420802568160074544121722666",
"201432143209625791089541569747935879771",
"6705292291090182108849407021396388878",
"215830012839040400895831917390225423869",
"46856093587620931144874969582827579162",
"313102432761259776813122623424306674059",
"82250059109169475701268783503308857626",
"327453172964183083956365484358962231072",
"140229247399477074392808223501447075119",
"172199329064274661602254805280309863398",
"92928883604980956657200200823755256140"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6784367b2f3cd7b89103de35764f37f152590dbd",
"deprecated": false,
"id": "CVE-2025-38659-b4512b04",
"signature_type": "Line"
},
{
"target": {
"function": "signal_our_withdraw",
"file": "fs/gfs2/util.c"
},
"digest": {
"length": 3463.0,
"function_hash": "265513320229776095550631247883451313634"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@deb016c1669002e48c431d6fd32ea1c20ef41756",
"deprecated": false,
"id": "CVE-2025-38659-c88fd518",
"signature_type": "Function"
},
{
"target": {
"function": "signal_our_withdraw",
"file": "fs/gfs2/util.c"
},
"digest": {
"length": 3463.0,
"function_hash": "265513320229776095550631247883451313634"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6784367b2f3cd7b89103de35764f37f152590dbd",
"deprecated": false,
"id": "CVE-2025-38659-cb22545b",
"signature_type": "Function"
},
{
"target": {
"file": "fs/gfs2/util.c"
},
"digest": {
"line_hashes": [
"36264951810236481392200447760592641086",
"98897975552702162684813859849876477541",
"107389829039655517709329524162787348806",
"268238272129951181615396168914951934111",
"23717218349719817662223255693570899515",
"34596104249076516446227117136995682103",
"218649381607420802568160074544121722666",
"201432143209625791089541569747935879771",
"6705292291090182108849407021396388878",
"215830012839040400895831917390225423869",
"46856093587620931144874969582827579162",
"313102432761259776813122623424306674059",
"82250059109169475701268783503308857626",
"327453172964183083956365484358962231072",
"140229247399477074392808223501447075119",
"172199329064274661602254805280309863398",
"92928883604980956657200200823755256140"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f5426ffbec971a8f7346a57392d3a901bdee5a9b",
"deprecated": false,
"id": "CVE-2025-38659-f9f4e4ae",
"signature_type": "Line"
}
]