CVE-2025-40242 (GCVE-0-2025-40242)

Vulnerability from cvelistv5 – Published: 2025-12-04 15:31 – Updated: 2026-10-15 22:02
VLAI
Title
gfs2: Fix unlikely race in gdlm_put_lock
Summary
In the Linux kernel, the following vulnerability has been resolved: gfs2: Fix unlikely race in gdlm_put_lock In gdlm_put_lock(), there is a small window of time in which the DFL_UNMOUNT flag has been set but the lockspace hasn't been released, yet. In that window, dlm may still call gdlm_ast() and gdlm_bast(). To prevent it from dereferencing freed glock objects, only free the glock if the lockspace has actually been released.
SSVC
Exploitation: none Automatable: no Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-15 21:58 UTC
Assigner
Linux CNA under the mitre root
CNA scorecard D 53/100 over 7061 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: d1340f80f0b8066321b499a376780da00560e857 , < 5fdc1474e678eea1700aa266c0b7c2c96f81dd0d (git)
Affected: d1340f80f0b8066321b499a376780da00560e857 , < 4913592a3358f6ec366b8346b733d5e2360b08e1 (git)
Affected: d1340f80f0b8066321b499a376780da00560e857 , < 279bde3bbb0ac0bad5c729dfa85983d75a5d7641 (git)
Affected: d1340f80f0b8066321b499a376780da00560e857 , < 64c61b4ac645222fa7b724cef616c1f862a72a40 (git)
Affected: d1340f80f0b8066321b499a376780da00560e857 , < 28c4d9bc0708956c1a736a9e49fee71b65deee81 (git)
Affected: 6aa628c45875e7b8cca81ed9447a12a0e8f3504a (git)
Affected: a97e75203733be0a4263a78fb7b29352be150c1c (git)
Affected: 3554b46204e67333e1fb8be0e93936fb08267c80 (git)
Affected: 5cff77b9827a956d076168b56775aad23bce87e4 (git)
Affected: 8deedce385d220f90e435f534d71d27526273515 (git)
Affected: 2225a5cd2fbc2ef0e0f78e585db3844f60416a39 (git)
Affected: 02e838963fdaa6ce8570b5389aecdc6cf1fb40b0 (git)
Affected: 01eb3106f43335fdc02111358dae80a5c3fd324d (git)
Affected: 4.4.284 , < 4.5 (semver)
Affected: 4.9.283 , < 4.10 (semver)
Affected: 4.14.247 , < 4.15 (semver)
Affected: 4.19.207 , < 4.20 (semver)
Affected: 5.4.148 , < 5.5 (semver)
Affected: 5.10.67 , < 5.11 (semver)
Affected: 5.13.19 , < 5.14 (semver)
Affected: 5.14.6 , < 5.15 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 5.15
Unaffected: 0 , < 5.15 (semver)
Unaffected: 6.1.168 , ≤ 6.1.* (semver)
Unaffected: 6.6.131 , ≤ 6.6.* (semver)
Unaffected: 6.12.56 , ≤ 6.12.* (semver)
Unaffected: 6.17.6 , ≤ 6.17.* (semver)
Unaffected: 6.18 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2025-40242",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-10-15T21:58:20.770505Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-10-15T22:02:41.268Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/gfs2/lock_dlm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "5fdc1474e678eea1700aa266c0b7c2c96f81dd0d",
              "status": "affected",
              "version": "d1340f80f0b8066321b499a376780da00560e857",
              "versionType": "git"
            },
            {
              "lessThan": "4913592a3358f6ec366b8346b733d5e2360b08e1",
              "status": "affected",
              "version": "d1340f80f0b8066321b499a376780da00560e857",
              "versionType": "git"
            },
            {
              "lessThan": "279bde3bbb0ac0bad5c729dfa85983d75a5d7641",
              "status": "affected",
              "version": "d1340f80f0b8066321b499a376780da00560e857",
              "versionType": "git"
            },
            {
              "lessThan": "64c61b4ac645222fa7b724cef616c1f862a72a40",
              "status": "affected",
              "version": "d1340f80f0b8066321b499a376780da00560e857",
              "versionType": "git"
            },
            {
              "lessThan": "28c4d9bc0708956c1a736a9e49fee71b65deee81",
              "status": "affected",
              "version": "d1340f80f0b8066321b499a376780da00560e857",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "6aa628c45875e7b8cca81ed9447a12a0e8f3504a",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a97e75203733be0a4263a78fb7b29352be150c1c",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "3554b46204e67333e1fb8be0e93936fb08267c80",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "5cff77b9827a956d076168b56775aad23bce87e4",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "8deedce385d220f90e435f534d71d27526273515",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "2225a5cd2fbc2ef0e0f78e585db3844f60416a39",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "02e838963fdaa6ce8570b5389aecdc6cf1fb40b0",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "01eb3106f43335fdc02111358dae80a5c3fd324d",
              "versionType": "git"
            },
            {
              "lessThan": "4.5",
              "status": "affected",
              "version": "4.4.284",
              "versionType": "semver"
            },
            {
              "lessThan": "4.10",
              "status": "affected",
              "version": "4.9.283",
              "versionType": "semver"
            },
            {
              "lessThan": "4.15",
              "status": "affected",
              "version": "4.14.247",
              "versionType": "semver"
            },
            {
              "lessThan": "4.20",
              "status": "affected",
              "version": "4.19.207",
              "versionType": "semver"
            },
            {
              "lessThan": "5.5",
              "status": "affected",
              "version": "5.4.148",
              "versionType": "semver"
            },
            {
              "lessThan": "5.11",
              "status": "affected",
              "version": "5.10.67",
              "versionType": "semver"
            },
            {
              "lessThan": "5.14",
              "status": "affected",
              "version": "5.13.19",
              "versionType": "semver"
            },
            {
              "lessThan": "5.15",
              "status": "affected",
              "version": "5.14.6",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/gfs2/lock_dlm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.15"
            },
            {
              "lessThan": "5.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.168",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.131",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.56",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.17.*",
              "status": "unaffected",
              "version": "6.17.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.18",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.168",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.131",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.56",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.17.6",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.4.284",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.9.283",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.14.247",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.19.207",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.4.148",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.10.67",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.13.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.14.6",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ngfs2: Fix unlikely race in gdlm_put_lock\n\nIn gdlm_put_lock(), there is a small window of time in which the\nDFL_UNMOUNT flag has been set but the lockspace hasn\u0027t been released,\nyet.  In that window, dlm may still call gdlm_ast() and gdlm_bast().\nTo prevent it from dereferencing freed glock objects, only free the\nglock if the lockspace has actually been released."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The window is opened by a local umount or a local filesystem withdraw, and the glock free is performed by local filesystem activity (inode eviction, glock shrinker, `glock_work_func`); the DLM bast that dereferences the freed object comes from an authenticated cluster peer on a private interconnect and cannot by itself create the dangling pointer. There is no network-facing service path into `gdlm_put_lock()`.\nAC:H - Exploitation requires winning a race whose opening the attacker does not control \u2014 `DFL_UNMOUNT` is set only by a root-driven umount or an error-driven withdraw \u2014 and additionally requires a DLM ast/bast for that exact resource to arrive after the free but before `dlm_release_lockspace()` completes, plus slab reuse after the RCU grace period. The author explicitly characterises it as an \"unlikely race\" in a \"small window of time\".\nPR:L - Once the teardown window is open (via administrator umount, cluster-manager failover, or a withdraw provoked by storage errors), an ordinary unprivileged user with access to the GFS2 mount drives the vulnerable side: normal file operations force glock disposal through `__gfs2_glock_put \u2192 lm_put_lock`, and creating inodes sprays `gfs2_glock_cachep` to groom the freed object. No capability check exists anywhere on that path.\nUI:N - The attacker only performs ordinary file operations on an already-mounted GFS2 filesystem; no victim must open a file, mount media, or take any deliberate action. The privileged unmount/withdraw is an environmental system state, accounted for in Attack Complexity rather than user interaction.\nS:U - The freed `struct gfs2_glock`, the DLM callback that writes into it, and any resulting corruption all live in the host kernel\u0027s own security authority. No hypervisor, IOMMU, or sandbox boundary is crossed.\nC:H - This is a use-after-free on a slab object whose contents the attacker can groom by reallocating glocks, and `gdlm_ast()` reads `gl-\u003egl_flags`, `gl-\u003egl_dstamp`, `gl-\u003egl_name.ln_type` and the `gl-\u003egl_name.ln_sbd` pointer out of the freed memory before the dead-lockref guard, using `ln_sbd` as a dereference target \u2014 giving an attacker-steerable kernel read primitive.\nI:H - Three distinct writes hit the freed object: DLM\u0027s `lksb-\u003esb_status`/`sb_flags` stores, `clear_bit(GLF_BLOCKING, \u0026gl-\u003egl_flags)`, and `gfs2_update_stats(\u0026gl-\u003egl_stats, ...)`; worse, `this_cpu_ptr(gl-\u003egl_name.ln_sbd-\u003esd_lkstats)` turns a groomed pointer in the freed object into the destination of a read-modify-write, and a surviving lockref check leads into `gfs2_glock_complete()` and `gl-\u003egl_ops` indirect calls \u2014 a control-flow hijack path.\nA:H - Dereferencing a freed glock from the DLM callback workqueue produces KASAN splats, oopses on garbage `ln_sbd`/`gl_ops` pointers, and `BUG()` in `gdlm_bast()` on an unrecognised mode, panicking the node. On a clustered filesystem, crashing the node also triggers fencing and cluster-wide recovery."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:08:46.271Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/5fdc1474e678eea1700aa266c0b7c2c96f81dd0d"
        },
        {
          "url": "https://git.kernel.org/stable/c/4913592a3358f6ec366b8346b733d5e2360b08e1"
        },
        {
          "url": "https://git.kernel.org/stable/c/279bde3bbb0ac0bad5c729dfa85983d75a5d7641"
        },
        {
          "url": "https://git.kernel.org/stable/c/64c61b4ac645222fa7b724cef616c1f862a72a40"
        },
        {
          "url": "https://git.kernel.org/stable/c/28c4d9bc0708956c1a736a9e49fee71b65deee81"
        }
      ],
      "title": "gfs2: Fix unlikely race in gdlm_put_lock",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-40242",
    "datePublished": "2025-12-04T15:31:31.497Z",
    "dateReserved": "2025-04-16T07:20:57.181Z",
    "dateUpdated": "2026-10-15T22:02:41.268Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-40242",
      "date": "2026-10-23",
      "epss": "0.00145",
      "percentile": "0.03455"
    },
    "microsoft_vex": {
      "current_release_date": "2025-12-09T01:38:38.000Z",
      "cve": "CVE-2025-40242",
      "id": "msrc_CVE-2025-40242",
      "initial_release_date": "2025-12-02T00:00:00.000Z",
      "product_status:known_affected": "1",
      "product_status:known_not_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "gfs2: Fix unlikely race in gdlm_put_lock",
      "url": "https://msrc.microsoft.com/csaf/vex/2025/msrc_cve-2025-40242.json",
      "version": "3"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/gfs2/lock_dlm.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "5fdc1474e678eea1700aa266c0b7c2c96f81dd0d",
                    "status": "affected",
                    "version": "d1340f80f0b8066321b499a376780da00560e857",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "4913592a3358f6ec366b8346b733d5e2360b08e1",
                    "status": "affected",
                    "version": "d1340f80f0b8066321b499a376780da00560e857",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "279bde3bbb0ac0bad5c729dfa85983d75a5d7641",
                    "status": "affected",
                    "version": "d1340f80f0b8066321b499a376780da00560e857",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "64c61b4ac645222fa7b724cef616c1f862a72a40",
                    "status": "affected",
                    "version": "d1340f80f0b8066321b499a376780da00560e857",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "28c4d9bc0708956c1a736a9e49fee71b65deee81",
                    "status": "affected",
                    "version": "d1340f80f0b8066321b499a376780da00560e857",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "6aa628c45875e7b8cca81ed9447a12a0e8f3504a",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "a97e75203733be0a4263a78fb7b29352be150c1c",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "3554b46204e67333e1fb8be0e93936fb08267c80",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "5cff77b9827a956d076168b56775aad23bce87e4",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "8deedce385d220f90e435f534d71d27526273515",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "2225a5cd2fbc2ef0e0f78e585db3844f60416a39",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "02e838963fdaa6ce8570b5389aecdc6cf1fb40b0",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "01eb3106f43335fdc02111358dae80a5c3fd324d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "4.5",
                    "status": "affected",
                    "version": "4.4.284",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "4.10",
                    "status": "affected",
                    "version": "4.9.283",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "4.15",
                    "status": "affected",
                    "version": "4.14.247",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "4.20",
                    "status": "affected",
                    "version": "4.19.207",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "5.5",
                    "status": "affected",
                    "version": "5.4.148",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "5.11",
                    "status": "affected",
                    "version": "5.10.67",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "5.14",
                    "status": "affected",
                    "version": "5.13.19",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "5.15",
                    "status": "affected",
                    "version": "5.14.6",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/gfs2/lock_dlm.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.15"
                  },
                  {
                    "lessThan": "5.15",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.168",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.131",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.56",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.17.*",
                    "status": "unaffected",
                    "version": "6.17.6",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.18",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ngfs2: Fix unlikely race in gdlm_put_lock\n\nIn gdlm_put_lock(), there is a small window of time in which the\nDFL_UNMOUNT flag has been set but the lockspace hasn\u0027t been released,\nyet.  In that window, dlm may still call gdlm_ast() and gdlm_bast().\nTo prevent it from dereferencing freed glock objects, only free the\nglock if the lockspace has actually been released."
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\ngfs2: Correcci\u00f3n de una condici\u00f3n de carrera improbable en gdlm_put_lock\n\nEn gdlm_put_lock(), existe una peque\u00f1a ventana de tiempo en la que la bandera DFL_UNMOUNT ha sido establecida, pero el lockspace a\u00fan no ha sido liberado. En esa ventana, dlm a\u00fan puede llamar a gdlm_ast() y gdlm_bast(). Para evitar que desreferencie objetos glock liberados, solo se debe liberar el glock si el lockspace ha sido realmente liberado."
          }
        ],
        "id": "CVE-2025-40242",
        "lastModified": "2026-10-19T19:10:00.130",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "HIGH",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.0,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.0,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ],
          "ssvcV203": [
            {
              "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "ssvcData": {
                "id": "CVE-2025-40242",
                "options": [
                  {
                    "exploitation": "none"
                  },
                  {
                    "automatable": "no"
                  },
                  {
                    "technicalImpact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-10-15T21:58:20.770505Z",
                "version": "2.0.3"
              }
            }
          ]
        },
        "published": "2025-12-04T16:16:17.390",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/279bde3bbb0ac0bad5c729dfa85983d75a5d7641"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/28c4d9bc0708956c1a736a9e49fee71b65deee81"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/4913592a3358f6ec366b8346b733d5e2360b08e1"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/5fdc1474e678eea1700aa266c0b7c2c96f81dd0d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/64c61b4ac645222fa7b724cef616c1f862a72a40"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Deferred"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-10-05T12:51:14+00:00",
      "cve": "CVE-2025-40242",
      "id": "CVE-2025-40242",
      "initial_release_date": "2025-12-04T00:00:00+00:00",
      "product_status:fixed": "150",
      "product_status:known_affected": "150",
      "product_status:known_not_affected": "77",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: gfs2: Fix unlikely race in gdlm_put_lock",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-40242.json",
      "version": "3"
    },
    "vulnrichment": {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2025-40242",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-10-15T21:58:20.770505Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-10-15T21:58:21.680Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "fs/gfs2/lock_dlm.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "5fdc1474e678eea1700aa266c0b7c2c96f81dd0d",
                  "status": "affected",
                  "version": "d1340f80f0b8066321b499a376780da00560e857",
                  "versionType": "git"
                },
                {
                  "lessThan": "4913592a3358f6ec366b8346b733d5e2360b08e1",
                  "status": "affected",
                  "version": "d1340f80f0b8066321b499a376780da00560e857",
                  "versionType": "git"
                },
                {
                  "lessThan": "279bde3bbb0ac0bad5c729dfa85983d75a5d7641",
                  "status": "affected",
                  "version": "d1340f80f0b8066321b499a376780da00560e857",
                  "versionType": "git"
                },
                {
                  "lessThan": "64c61b4ac645222fa7b724cef616c1f862a72a40",
                  "status": "affected",
                  "version": "d1340f80f0b8066321b499a376780da00560e857",
                  "versionType": "git"
                },
                {
                  "lessThan": "28c4d9bc0708956c1a736a9e49fee71b65deee81",
                  "status": "affected",
                  "version": "d1340f80f0b8066321b499a376780da00560e857",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "6aa628c45875e7b8cca81ed9447a12a0e8f3504a",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "a97e75203733be0a4263a78fb7b29352be150c1c",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "3554b46204e67333e1fb8be0e93936fb08267c80",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "5cff77b9827a956d076168b56775aad23bce87e4",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "8deedce385d220f90e435f534d71d27526273515",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "2225a5cd2fbc2ef0e0f78e585db3844f60416a39",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "02e838963fdaa6ce8570b5389aecdc6cf1fb40b0",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "01eb3106f43335fdc02111358dae80a5c3fd324d",
                  "versionType": "git"
                },
                {
                  "lessThan": "4.5",
                  "status": "affected",
                  "version": "4.4.284",
                  "versionType": "semver"
                },
                {
                  "lessThan": "4.10",
                  "status": "affected",
                  "version": "4.9.283",
                  "versionType": "semver"
                },
                {
                  "lessThan": "4.15",
                  "status": "affected",
                  "version": "4.14.247",
                  "versionType": "semver"
                },
                {
                  "lessThan": "4.20",
                  "status": "affected",
                  "version": "4.19.207",
                  "versionType": "semver"
                },
                {
                  "lessThan": "5.5",
                  "status": "affected",
                  "version": "5.4.148",
                  "versionType": "semver"
                },
                {
                  "lessThan": "5.11",
                  "status": "affected",
                  "version": "5.10.67",
                  "versionType": "semver"
                },
                {
                  "lessThan": "5.14",
                  "status": "affected",
                  "version": "5.13.19",
                  "versionType": "semver"
                },
                {
                  "lessThan": "5.15",
                  "status": "affected",
                  "version": "5.14.6",
                  "versionType": "semver"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "fs/gfs2/lock_dlm.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "5.15"
                },
                {
                  "lessThan": "5.15",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.1.*",
                  "status": "unaffected",
                  "version": "6.1.168",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.6.*",
                  "status": "unaffected",
                  "version": "6.6.131",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.56",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.17.*",
                  "status": "unaffected",
                  "version": "6.17.6",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "6.18",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.1.168",
                      "versionStartIncluding": "5.15",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.6.131",
                      "versionStartIncluding": "5.15",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.56",
                      "versionStartIncluding": "5.15",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.17.6",
                      "versionStartIncluding": "5.15",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18",
                      "versionStartIncluding": "5.15",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "4.4.284",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "4.9.283",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "4.14.247",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "4.19.207",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "5.4.148",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "5.10.67",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "5.13.19",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "5.14.6",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ngfs2: Fix unlikely race in gdlm_put_lock\n\nIn gdlm_put_lock(), there is a small window of time in which the\nDFL_UNMOUNT flag has been set but the lockspace hasn\u0027t been released,\nyet.  In that window, dlm may still call gdlm_ast() and gdlm_bast().\nTo prevent it from dereferencing freed glock objects, only free the\nglock if the lockspace has actually been released."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 7,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "scenarios": [
                {
                  "lang": "en",
                  "value": "AV:L - The window is opened by a local umount or a local filesystem withdraw, and the glock free is performed by local filesystem activity (inode eviction, glock shrinker, `glock_work_func`); the DLM bast that dereferences the freed object comes from an authenticated cluster peer on a private interconnect and cannot by itself create the dangling pointer. There is no network-facing service path into `gdlm_put_lock()`.\nAC:H - Exploitation requires winning a race whose opening the attacker does not control \u2014 `DFL_UNMOUNT` is set only by a root-driven umount or an error-driven withdraw \u2014 and additionally requires a DLM ast/bast for that exact resource to arrive after the free but before `dlm_release_lockspace()` completes, plus slab reuse after the RCU grace period. The author explicitly characterises it as an \"unlikely race\" in a \"small window of time\".\nPR:L - Once the teardown window is open (via administrator umount, cluster-manager failover, or a withdraw provoked by storage errors), an ordinary unprivileged user with access to the GFS2 mount drives the vulnerable side: normal file operations force glock disposal through `__gfs2_glock_put \u2192 lm_put_lock`, and creating inodes sprays `gfs2_glock_cachep` to groom the freed object. No capability check exists anywhere on that path.\nUI:N - The attacker only performs ordinary file operations on an already-mounted GFS2 filesystem; no victim must open a file, mount media, or take any deliberate action. The privileged unmount/withdraw is an environmental system state, accounted for in Attack Complexity rather than user interaction.\nS:U - The freed `struct gfs2_glock`, the DLM callback that writes into it, and any resulting corruption all live in the host kernel\u0027s own security authority. No hypervisor, IOMMU, or sandbox boundary is crossed.\nC:H - This is a use-after-free on a slab object whose contents the attacker can groom by reallocating glocks, and `gdlm_ast()` reads `gl-\u003egl_flags`, `gl-\u003egl_dstamp`, `gl-\u003egl_name.ln_type` and the `gl-\u003egl_name.ln_sbd` pointer out of the freed memory before the dead-lockref guard, using `ln_sbd` as a dereference target \u2014 giving an attacker-steerable kernel read primitive.\nI:H - Three distinct writes hit the freed object: DLM\u0027s `lksb-\u003esb_status`/`sb_flags` stores, `clear_bit(GLF_BLOCKING, \u0026gl-\u003egl_flags)`, and `gfs2_update_stats(\u0026gl-\u003egl_stats, ...)`; worse, `this_cpu_ptr(gl-\u003egl_name.ln_sbd-\u003esd_lkstats)` turns a groomed pointer in the freed object into the destination of a read-modify-write, and a surviving lockref check leads into `gfs2_glock_complete()` and `gl-\u003egl_ops` indirect calls \u2014 a control-flow hijack path.\nA:H - Dereferencing a freed glock from the DLM callback workqueue produces KASAN splats, oopses on garbage `ln_sbd`/`gl_ops` pointers, and `BUG()` in `gdlm_bast()` on an unrecognised mode, panicking the node. On a clustered filesystem, crashing the node also triggers fencing and cluster-wide recovery."
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-05T12:08:46.271Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/5fdc1474e678eea1700aa266c0b7c2c96f81dd0d"
            },
            {
              "url": "https://git.kernel.org/stable/c/4913592a3358f6ec366b8346b733d5e2360b08e1"
            },
            {
              "url": "https://git.kernel.org/stable/c/279bde3bbb0ac0bad5c729dfa85983d75a5d7641"
            },
            {
              "url": "https://git.kernel.org/stable/c/64c61b4ac645222fa7b724cef616c1f862a72a40"
            },
            {
              "url": "https://git.kernel.org/stable/c/28c4d9bc0708956c1a736a9e49fee71b65deee81"
            }
          ],
          "title": "gfs2: Fix unlikely race in gdlm_put_lock",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2025-40242",
        "datePublished": "2025-12-04T15:31:31.497Z",
        "dateReserved": "2025-04-16T07:20:57.181Z",
        "dateUpdated": "2026-10-15T22:02:41.268Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.