CVE-2026-74617

dibs: initialise dibs->lock in dibs_dev_alloc()

Published Aug 22, 2026 CVSS 3.1 · 9.8 Critical EPSS < 1% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

The vulnerability originates in the Linux kernel's dibs device subsystem, where the lock protecting dibs device state is only initialized during dibs_dev_add(). Because a device can register an interrupt handler before that call, an interrupt may be delivered while the lock remains uninitialized. The interrupt handler, ism_handle_irq(), unconditionally acquires the lock before checking any condition, which can lead to a race and undefined kernel behavior that manifests as a denial of service (kernel crash). This flaw is a direct result of improper initialization.

Affected Systems

Any Linux system running a kernel where the dibs device driver contains the uninitialized lock code is affected. The CVE data does not list specific kernel versions, indicating that any kernel build before the patch that includes this uninitialized lock is at risk. Systems that use the ISM driver or other drivers exposing GID event interrupts are the most directly impacted.

Risk and Exploitability

The reported CVSS score of 9.8 indicates critical severity, but the EPSS score is less than 1%, suggesting a very low probability of exploitation in the wild. Based on the description, it is inferred that the flaw requires local or higher privilege to trigger the relevant interrupt, and that a device capable of generating the GID events is needed. Based on the description, it is inferred that the risk of accidental kernel crash might be high for affected systems. The likelihood of a crafted attacker exploiting this remains low pending the presence of such a device. The issue is not listed in the CISA KEV catalog.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest kernel update that includes the fix for the dibs lock initialization.
  • Reboot the system so that the updated kernel is running.
  • If an immediate update is not possible, temporarily disable the ISM driver or prevent GID event handling to avoid the race condition until a patch is available.

Generated by OpenCVE AI on August 25, 2026 at 15:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Ubuntu USN Ubuntu USN USN-9019-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9020-1 Linux kernel vulnerabilities
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Weaknesses CWE-665
Type Values Removed Values Added
Weaknesses CWE-665
Type Values Removed Values Added
Weaknesses CWE-362
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

Type Values Removed Values Added
Weaknesses CWE-362
Type Values Removed Values Added
Description 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.
Title dibs: initialise dibs->lock in dibs_dev_alloc()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References
Weaknesses
  • CWE-908

    Use of Uninitialized Resource

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
Oct 16, 2026, 7:06 PM
Reserved
Aug 15, 2026, 5:44 AM
Status
Received
Published
Aug 22, 2026, 4:16 PM
Modified
Oct 16, 2026, 8:17 PM
Severity
Moderate
Public date
Aug 22, 2026, 12:00 AM