CVE-2026-74401 (GCVE-0-2026-74401)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:59 – Updated: 2026-08-17 05:46
VLAI
Title
dlm: fix add msg handle in send_queue ordered
Summary
In the Linux kernel, the following vulnerability has been resolved: dlm: fix add msg handle in send_queue ordered In a benchmark scenario triggering a lot of requests that triggers a lot of DLM messages on the network it can be that the mh->seq is not ordered according the oldest seq number. This ordering is required by dlm_receive_ack as "before(mh->seq, seq)" will stop to check for older sequence numbers that are ordered in the tail of "node->send_queue". The side effects of not having it correct ordered regarding "before(mh->seq, seq)" are refcounting issues and use-after free. I only was able to reproduce this issue in a experimental DLM branch and a user space DLM benchmark that uses io_uring. After changing this I don't experienced any refcounting with the sending buffer issues anymore.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 489d8e559c6596eb08e16447d9830bc39afbe54e , < ae9e534e502a0f48c12baf83608c5de0ff0eab11 (git)
Affected: 489d8e559c6596eb08e16447d9830bc39afbe54e , < 6369619f1b665f12d8c99cc6ff733c64eb08b22e (git)
Affected: 489d8e559c6596eb08e16447d9830bc39afbe54e , < 712714f818d83373847874ab0f8e426be79296cf (git)
Affected: 489d8e559c6596eb08e16447d9830bc39afbe54e , < 4d45250b1d22960f86d83245be188b16e456218b (git)
Affected: 489d8e559c6596eb08e16447d9830bc39afbe54e , < d2248cb70c070f8f04762872772e155b59016f17 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.14
Unaffected: 0 , < 5.14 (semver)
Unaffected: 6.6.145 , ≤ 6.6.* (semver)
Unaffected: 6.12.97 , ≤ 6.12.* (semver)
Unaffected: 6.18.40 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/dlm/midcomms.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ae9e534e502a0f48c12baf83608c5de0ff0eab11",
              "status": "affected",
              "version": "489d8e559c6596eb08e16447d9830bc39afbe54e",
              "versionType": "git"
            },
            {
              "lessThan": "6369619f1b665f12d8c99cc6ff733c64eb08b22e",
              "status": "affected",
              "version": "489d8e559c6596eb08e16447d9830bc39afbe54e",
              "versionType": "git"
            },
            {
              "lessThan": "712714f818d83373847874ab0f8e426be79296cf",
              "status": "affected",
              "version": "489d8e559c6596eb08e16447d9830bc39afbe54e",
              "versionType": "git"
            },
            {
              "lessThan": "4d45250b1d22960f86d83245be188b16e456218b",
              "status": "affected",
              "version": "489d8e559c6596eb08e16447d9830bc39afbe54e",
              "versionType": "git"
            },
            {
              "lessThan": "d2248cb70c070f8f04762872772e155b59016f17",
              "status": "affected",
              "version": "489d8e559c6596eb08e16447d9830bc39afbe54e",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/dlm/midcomms.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.14"
            },
            {
              "lessThan": "5.14",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.145",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.145",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.97",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndlm: fix add msg handle in send_queue ordered\n\nIn a benchmark scenario triggering a lot of requests that triggers a lot\nof DLM messages on the network it can be that the mh-\u003eseq is not ordered\naccording the oldest seq number. This ordering is required by\ndlm_receive_ack as \"before(mh-\u003eseq, seq)\" will stop to check for older\nsequence numbers that are ordered in the tail of \"node-\u003esend_queue\".\n\nThe side effects of not having it correct ordered regarding\n\"before(mh-\u003eseq, seq)\" are refcounting issues and use-after free.\n\nI only was able to reproduce this issue in a experimental DLM branch\nand a user space DLM benchmark that uses io_uring. After changing this I\ndon\u0027t experienced any refcounting with the sending buffer issues anymore."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.8,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The UAF is triggered in dlm_receive_ack when processing DLM_ACK packets from remote cluster peers over lowcomms TCP/SCTP port 21064 (receive_from_sock -\u003e dlm_process_incoming_buffer -\u003e dlm_midcomms_receive_buffer_3_2); wire ACK sequence numbers directly drive premature dlm_mhandle_delete on the victim.\nAC:L - The send_queue ordering race in midcomms_new_msg_cb is hit under heavy concurrent DLM traffic; an attacker controls both sides by flooding lock requests from a cluster peer (io_uring benchmark per fix author) while sending ACKs, without depending on timing they cannot influence.\nPR:N - DLM has no authentication or TLS; the only gate is source IP matching a configured cluster node in addr_to_nodeid. A compromised cluster peer or attacker on the cluster network needs no Unix account or local privileges on the victim to deliver crafted DLM_ACK packets.\nUI:N - No victim user action is required; ACKs and lock traffic are processed automatically on already-running HA cluster nodes (GFS2/OCFS2/Pacemaker) by DLM receive and send workqueues without any interactive step.\nS:U - Impact is confined to kernel heap and refcount corruption within the victim node\u0027s kernel address space; no VM, IOMMU, or sandbox boundary is crossed\u2014standard kernel UAF enabling privilege escalation on the same host.\nC:H - Misordered send_queue causes dlm_receive_ack to skip or prematurely free mhandles via call_rcu/dlm_mhandle_release while references still exist; UAF reads from freed slab objects enable heap grooming and arbitrary kernel memory disclosure.\nI:H - Premature dlm_mhandle_delete releases in-flight mh-\u003emsg buffers and corrupts kref counts while commit paths still dereference the handle; UAF write primitives via reclaimed slab data can hijack kernel control flow per DLM UAF scoring guidance.\nA:H - Refcounting corruption and use-after-free in dlm_receive_ack reliably cause KASAN splats, kernel oopses, and cluster-wide availability loss when DLM on HA nodes handling GFS2/OCFS2 lock traffic crashes or hangs."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:46:44.230Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/ae9e534e502a0f48c12baf83608c5de0ff0eab11"
        },
        {
          "url": "https://git.kernel.org/stable/c/6369619f1b665f12d8c99cc6ff733c64eb08b22e"
        },
        {
          "url": "https://git.kernel.org/stable/c/712714f818d83373847874ab0f8e426be79296cf"
        },
        {
          "url": "https://git.kernel.org/stable/c/4d45250b1d22960f86d83245be188b16e456218b"
        },
        {
          "url": "https://git.kernel.org/stable/c/d2248cb70c070f8f04762872772e155b59016f17"
        }
      ],
      "title": "dlm: fix add msg handle in send_queue ordered",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74401",
    "datePublished": "2026-08-15T05:59:12.099Z",
    "dateReserved": "2026-08-15T05:44:03.892Z",
    "dateUpdated": "2026-08-17T05:46:44.230Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-74401",
      "date": "2026-09-21",
      "epss": "0.00444",
      "percentile": "0.37923"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/dlm/midcomms.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "ae9e534e502a0f48c12baf83608c5de0ff0eab11",
                    "status": "affected",
                    "version": "489d8e559c6596eb08e16447d9830bc39afbe54e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6369619f1b665f12d8c99cc6ff733c64eb08b22e",
                    "status": "affected",
                    "version": "489d8e559c6596eb08e16447d9830bc39afbe54e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "712714f818d83373847874ab0f8e426be79296cf",
                    "status": "affected",
                    "version": "489d8e559c6596eb08e16447d9830bc39afbe54e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "4d45250b1d22960f86d83245be188b16e456218b",
                    "status": "affected",
                    "version": "489d8e559c6596eb08e16447d9830bc39afbe54e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d2248cb70c070f8f04762872772e155b59016f17",
                    "status": "affected",
                    "version": "489d8e559c6596eb08e16447d9830bc39afbe54e",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/dlm/midcomms.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.14"
                  },
                  {
                    "lessThan": "5.14",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.145",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.97",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.40",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.5",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "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\ndlm: fix add msg handle in send_queue ordered\n\nIn a benchmark scenario triggering a lot of requests that triggers a lot\nof DLM messages on the network it can be that the mh-\u003eseq is not ordered\naccording the oldest seq number. This ordering is required by\ndlm_receive_ack as \"before(mh-\u003eseq, seq)\" will stop to check for older\nsequence numbers that are ordered in the tail of \"node-\u003esend_queue\".\n\nThe side effects of not having it correct ordered regarding\n\"before(mh-\u003eseq, seq)\" are refcounting issues and use-after free.\n\nI only was able to reproduce this issue in a experimental DLM branch\nand a user space DLM benchmark that uses io_uring. After changing this I\ndon\u0027t experienced any refcounting with the sending buffer issues anymore."
          }
        ],
        "id": "CVE-2026-74401",
        "lastModified": "2026-08-17T06:19:35.270",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 9.8,
                "baseSeverity": "CRITICAL",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 3.9,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-08-15T06:22:42.120",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/4d45250b1d22960f86d83245be188b16e456218b"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6369619f1b665f12d8c99cc6ff733c64eb08b22e"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/712714f818d83373847874ab0f8e426be79296cf"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ae9e534e502a0f48c12baf83608c5de0ff0eab11"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d2248cb70c070f8f04762872772e155b59016f17"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-20T22:18:04+00:00",
      "cve": "CVE-2026-74401",
      "id": "CVE-2026-74401",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "122",
      "product_status:known_not_affected": "152",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: dlm: fix add msg handle in send_queue ordered",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-74401.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T01:21:32Z",
      "cve": "CVE-2026-74401",
      "id": "CVE-2026-74401",
      "initial_release_date": "2026-08-31T13:29:22Z",
      "product_status:known_affected": "219",
      "product_status:known_not_affected": "143",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-74401",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-74401.json",
      "version": "4"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

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.

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.


Loading…