Skip to main content

Linux Kernel CVE-2026-64112

| EUVDEUVD-2026-45797 HIGH
Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367)
2026-07-19 Linux GHSA-559g-j59r-pxg6
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
5.2 MEDIUM

Triggering requires privileged rbd map/unmap access (PR:H) and winning a narrow timing race (AC:H); impact is chiefly a kernel crash (A:H) with limited corruption-driven C/I:L.

3.1 AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:H
4.0 AV:L/AC:H/AT:N/PR:H/UI:N/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N
SUSE
HIGH
qualitative
Red Hat
5.5 MEDIUM
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 20, 2026 - 17:30 vuln.today
CVSS changed
Jul 20, 2026 - 15:22 NVD
7.8 (HIGH)
Patch available
Jul 19, 2026 - 17:03 EUVD
CVE Published
Jul 19, 2026 - 15:40 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 19, 2026 - 15:40 cve.org
HIGH 7.8

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

rbd: eliminate a race in lock_dwork draining on unmap

Given how rbd_lock_add_request() and rbd_img_exclusive_lock() are written, lock_dwork may be (re)queued more than it's actually needed: for example in case a new I/O request comes in while we are in the middle of rbd_acquire_lock() on behalf of another I/O request. This is expected and with rbd_release_lock() preemptively canceling lock_dwork is benign under normal operation.

A more problematic example is maybe_kick_acquire():

if (have_requests || delayed_work_pending(&rbd_dev->lock_dwork)) { dout("%s rbd_dev %p kicking lock_dwork\n", __func__, rbd_dev); mod_delayed_work(rbd_dev->task_wq, &rbd_dev->lock_dwork, 0); }

It's not unrealistic for lock_dwork to get canceled right after delayed_work_pending() returns true and for mod_delayed_work() to requeue it right there anyway. This is a classic TOCTOU race.

When it comes to unmapping the image, there is an implicit assumption of no self-initiated exclusive lock activity past the point of return from rbd_dev_image_unlock() which unlocks the lock if it happens to be held. This unlock is assumed to be final and lock_dwork (as well as all other exclusive lock tasks, really) isn't expected to get queued again. However, lock_dwork is canceled only in cancel_tasks_sync() (i.e. later in the unmap sequence) and on top of that the cancellation can get in effect nullified by maybe_kick_acquire(). This may result in rbd_acquire_lock() executing after rbd_dev_device_release() and rbd_dev_image_release() run and free and/or reset a bunch of things. One of the possible failure modes then is a violated

rbd_assert(rbd_image_format_valid(rbd_dev->image_format));

in rbd_dev_header_info() which is called via rbd_dev_refresh() from rbd_post_acquire_action().

Redo exclusive lock task draining to provide saner semantics and try to meet the assumptions around rbd_dev_image_unlock().

AnalysisAI

Local privilege-holder-triggered use-after-free in the Linux kernel's RADOS block device (rbd) driver allows a kernel crash and potential memory corruption when a Ceph rbd image is unmapped concurrently with in-flight I/O. A TOCTOU race in the exclusive-lock delayed-work (lock_dwork) draining logic lets rbd_acquire_lock() run after the device has been released and its structures freed or reset, violating internal assertions such as rbd_image_format_valid() in rbd_dev_header_info(). No public exploit identified at time of analysis; EPSS is low (0.17%), consistent with a hard-to-win kernel race rather than a broadly weaponizable flaw.

Technical ContextAI

The affected component is the kernel's rbd driver (drivers/block/rbd.c), which exposes Ceph RADOS block devices as local block devices and coordinates cluster-wide access using a Ceph exclusive lock. Lock acquisition is deferred to a workqueue item (lock_dwork). The root cause is a time-of-check/time-of-use race: maybe_kick_acquire() checks delayed_work_pending() and then calls mod_delayed_work() non-atomically, so lock_dwork can be canceled (by rbd_dev_image_unlock during unmap) and immediately requeued. Because the driver assumes no self-initiated exclusive-lock activity occurs after rbd_dev_image_unlock(), a requeued lock_dwork can execute after rbd_dev_device_release()/rbd_dev_image_release() have freed and reset device state, producing a use-after-free (CWE-416) driven by a race condition (CWE-362). CWE is listed as N/A in the source data, so this class attribution is inferred from the description.

RemediationAI

Vendor-released patch: update to Linux kernel 6.12.92, 6.18.34, 7.0.11, or 7.1 (or later) on the respective stable branches, which contain the corrected exclusive-lock task draining (fix commits 3427d7ae38337066ce88b68302e285d344ab756b, 9dcd4f5c99b491c37be90b0bd9988db48225fb75, 9400efc76b42c751211974a25c91d2c19c65b01b, and 9fc75b71fdd38465c76c6f6a884cdd4ae3c72d90 at https://git.kernel.org/stable/c/). Apply your distribution's corresponding kernel update and reboot. Where immediate patching is not possible, the practical compensating control is operational: only expose Ceph rbd map/unmap to trusted administrators and avoid unmapping images while heavy I/O is in flight, since the race is triggered around the unmap path - the trade-off is reduced operational flexibility rather than a true fix. Hosts that do not use Ceph rbd (the driver is not loaded) are not exposed and need no workaround.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-64112 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy