CVE-2026-74617 (GCVE-0-2026-74617)

Vulnerability from cvelistv5 – Published: 2026-08-22 15:32 – Updated: 2026-08-25 05:40
VLAI
Title
dibs: initialise dibs->lock in dibs_dev_alloc()
Summary
In the Linux kernel, the following vulnerability has been resolved: dibs: initialise dibs->lock in dibs_dev_alloc() dibs->lock is initialised by dibs_dev_add(), but a dibs device can already take interrupts before that call: ism_probe() runs ism_dev_init(), and hence request_irq(), before it calls dibs_dev_add(). No client can have registered a dmb at that point, so no dmb interrupt can occur, but a GID event interrupt can, and ism_handle_irq() takes dibs->lock unconditionally on entry, before it inspects anything else. Initialise the lock in dibs_dev_alloc() instead, so that it is valid as soon as a driver can publish the device to its interrupt handler.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: cc21191b584c6f7836b0f10774f8278b7cbfba10 , < fe79571f40434b257d68cbfb7b3ae93a794d8a11 (git)
Affected: cc21191b584c6f7836b0f10774f8278b7cbfba10 , < 2926031acba100d0c18fcfaa7a2ed29609318848 (git)
Affected: cc21191b584c6f7836b0f10774f8278b7cbfba10 , < c27e360545373b7aee9862a5beef3b9fb3df0c25 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.18
Unaffected: 0 , < 6.18 (semver)
Unaffected: 6.18.45 , ≤ 6.18.* (semver)
Unaffected: 7.1.9 , ≤ 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": [
            "drivers/dibs/dibs_main.c",
            "include/linux/dibs.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "fe79571f40434b257d68cbfb7b3ae93a794d8a11",
              "status": "affected",
              "version": "cc21191b584c6f7836b0f10774f8278b7cbfba10",
              "versionType": "git"
            },
            {
              "lessThan": "2926031acba100d0c18fcfaa7a2ed29609318848",
              "status": "affected",
              "version": "cc21191b584c6f7836b0f10774f8278b7cbfba10",
              "versionType": "git"
            },
            {
              "lessThan": "c27e360545373b7aee9862a5beef3b9fb3df0c25",
              "status": "affected",
              "version": "cc21191b584c6f7836b0f10774f8278b7cbfba10",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/dibs/dibs_main.c",
            "include/linux/dibs.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.18"
            },
            {
              "lessThan": "6.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.45",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.9",
              "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.18.45",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.9",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndibs: initialise dibs-\u003elock in dibs_dev_alloc()\n\ndibs-\u003elock is initialised by dibs_dev_add(), but a dibs device can\nalready take interrupts before that call: ism_probe() runs\nism_dev_init(), and hence request_irq(), before it calls\ndibs_dev_add(). No client can have registered a dmb at that point, so\nno dmb interrupt can occur, but a GID event interrupt can, and\nism_handle_irq() takes dibs-\u003elock unconditionally on entry, before it\ninspects anything else.\n\nInitialise the lock in dibs_dev_alloc() instead, so that it is valid as\nsoon as a driver can publish the device to its interrupt handler."
        }
      ],
      "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 - On IBM Z SMC-D systems, a remote networked peer on the shared ISM fabric can emit GID/IEQ fabric events that raise ISM MSI interrupts during ism_probe, reaching ism_handle_irq() without any local syscall or ioctl on the victim.\nAC:L - The attacker controls timing by repeatedly sending ISM GID/IEQ fabric events (or coordinating with victim reboot/module reprobe) to hit the probe window between request_irq() and dibs_dev_add(), rather than depending on uncontrollable memory layout.\nPR:N - Exploitation is driven by ISM hardware interrupts from fabric events and does not require local credentials, capabilities, or namespaces on the victim; a remote/co-tenant ISM fabric peer can trigger the IRQ path during device bring-up.\nUI:N - The race occurs automatically during kernel boot or ISM driver probe when fabric GID events arrive; no victim user action such as mounting a filesystem or opening a device node is required.\nS:U - The flaw corrupts kernel driver state via an uninitialized spinlock in IRQ context but does not cross a VM, IOMMU, or sandbox security boundary; impact remains within kernel privilege.\nC:H - Calling spin_lock() on an uninitialized dibs-\u003elock is undefined behavior that can corrupt lock metadata and adjacent dibs_dev fields, creating a memory-safety primitive that can be leveraged for arbitrary kernel memory disclosure.\nI:H - Broken spinlock initialization can permit unsafe concurrent access to dibs_dev state and enable arbitrary kernel memory writes or control-flow hijacking, not merely a clean denial of service.\nA:H - Taking an uninitialized spinlock in ism_handle_irq() can trigger kernel BUG/oops/panic or wedge ISM interrupt handling, causing a high-severity system crash or hang on affected IBM Z hosts."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-25T05:40:44.661Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/fe79571f40434b257d68cbfb7b3ae93a794d8a11"
        },
        {
          "url": "https://git.kernel.org/stable/c/2926031acba100d0c18fcfaa7a2ed29609318848"
        },
        {
          "url": "https://git.kernel.org/stable/c/c27e360545373b7aee9862a5beef3b9fb3df0c25"
        }
      ],
      "title": "dibs: initialise dibs-\u003elock in dibs_dev_alloc()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74617",
    "datePublished": "2026-08-22T15:32:02.049Z",
    "dateReserved": "2026-08-15T05:44:03.920Z",
    "dateUpdated": "2026-08-25T05:40:44.661Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-74617",
      "date": "2026-09-21",
      "epss": "0.00442",
      "percentile": "0.37736"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/dibs/dibs_main.c",
                  "include/linux/dibs.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "fe79571f40434b257d68cbfb7b3ae93a794d8a11",
                    "status": "affected",
                    "version": "cc21191b584c6f7836b0f10774f8278b7cbfba10",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "2926031acba100d0c18fcfaa7a2ed29609318848",
                    "status": "affected",
                    "version": "cc21191b584c6f7836b0f10774f8278b7cbfba10",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "c27e360545373b7aee9862a5beef3b9fb3df0c25",
                    "status": "affected",
                    "version": "cc21191b584c6f7836b0f10774f8278b7cbfba10",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/dibs/dibs_main.c",
                  "include/linux/dibs.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.18"
                  },
                  {
                    "lessThan": "6.18",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.45",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.9",
                    "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\ndibs: initialise dibs-\u003elock in dibs_dev_alloc()\n\ndibs-\u003elock is initialised by dibs_dev_add(), but a dibs device can\nalready take interrupts before that call: ism_probe() runs\nism_dev_init(), and hence request_irq(), before it calls\ndibs_dev_add(). No client can have registered a dmb at that point, so\nno dmb interrupt can occur, but a GID event interrupt can, and\nism_handle_irq() takes dibs-\u003elock unconditionally on entry, before it\ninspects anything else.\n\nInitialise the lock in dibs_dev_alloc() instead, so that it is valid as\nsoon as a driver can publish the device to its interrupt handler."
          }
        ],
        "id": "CVE-2026-74617",
        "lastModified": "2026-08-25T06:18:40.303",
        "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-22T16:16:34.400",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/2926031acba100d0c18fcfaa7a2ed29609318848"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/c27e360545373b7aee9862a5beef3b9fb3df0c25"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/fe79571f40434b257d68cbfb7b3ae93a794d8a11"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-25T08:51:12+00:00",
      "cve": "CVE-2026-74617",
      "id": "CVE-2026-74617",
      "initial_release_date": "2026-08-22T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: dibs: initialise dibs-\u003elock in dibs_dev_alloc()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-74617.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T01:17:43Z",
      "cve": "CVE-2026-74617",
      "id": "CVE-2026-74617",
      "initial_release_date": "2026-09-01T13:28:14Z",
      "product_status:known_affected": "12",
      "product_status:known_not_affected": "345",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-74617",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-74617.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…

Detection rules are retrieved from Rulezet.

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…