0.0
NA
CVE-2026-64509
rust: block: fix GenDisk cleanup paths
Description

In the Linux kernel, the following vulnerability has been resolved: rust: block: fix GenDisk cleanup paths GenDiskBuilder::build() still has fallible work after __blk_mq_alloc_disk(), but its error path only recovers the foreign queue data. That leaks the temporary gendisk and request_queue until later teardown. If the caller moved the last Arc<TagSet<T>> into build(), the leaked queue can retain blk-mq state after the tag set is dropped. Fix the pre-registration failure path by dropping the temporary gendisk reference with put_disk() before recovering queue_data, so disk_release() can tear down the owned queue. Also pair GenDisk::drop() with put_disk() after del_gendisk(). Once a Rust GenDisk has been added with device_add_disk(), del_gendisk() only unregisters it; the final gendisk reference still has to be dropped to complete the release path.

INFO

Published Date :

July 25, 2026, 10:17 a.m.

Last Modified :

July 25, 2026, 10:17 a.m.

Remotely Exploit :

No

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-64509 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

No affected product recoded yet

Solution
Fix GenDisk cleanup paths in Linux kernel to prevent resource leaks and state issues.
  • Apply the kernel patch for GenDisk cleanup.
  • Ensure proper disk registration and unregistration.
  • Verify put_disk() is called in error paths.
  • Pair GenDisk::drop() with put_disk() after del_gendisk().
References to Advisories, Solutions, and Tools
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-64509 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-64509 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-64509 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-64509 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jul. 25, 2026

    Action Type Old Value New Value
    Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '3253aba3408aa4eb2e4e09365eede3e63ef7536b', 'lessThan': 'd1dcaa5229a63a6b6df7e0f673fe576cf3d6e8cb', 'versionType': 'git'}, {'status': 'affected', 'version': '3253aba3408aa4eb2e4e09365eede3e63ef7536b', 'lessThan': 'e7636f26f77070a529c26d65afd217514ce85ce4', 'versionType': 'git'}, {'status': 'affected', 'version': '3253aba3408aa4eb2e4e09365eede3e63ef7536b', 'lessThan': '6822a2685b4da9a87efd1fce4b042678a31ff734', 'versionType': 'git'}, {'status': 'affected', 'version': '3253aba3408aa4eb2e4e09365eede3e63ef7536b', 'lessThan': '2957771379fa335103a4b539db57bb2271e12142', 'versionType': 'git'}], 'programFiles': ['rust/kernel/block/mq/gen_disk.rs'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '6.11'}, {'status': 'unaffected', 'version': '0', 'lessThan': '6.11', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['rust/kernel/block/mq/gen_disk.rs'], 'defaultStatus': 'affected'}]
    Added Description In the Linux kernel, the following vulnerability has been resolved: rust: block: fix GenDisk cleanup paths GenDiskBuilder::build() still has fallible work after __blk_mq_alloc_disk(), but its error path only recovers the foreign queue data. That leaks the temporary gendisk and request_queue until later teardown. If the caller moved the last Arc<TagSet<T>> into build(), the leaked queue can retain blk-mq state after the tag set is dropped. Fix the pre-registration failure path by dropping the temporary gendisk reference with put_disk() before recovering queue_data, so disk_release() can tear down the owned queue. Also pair GenDisk::drop() with put_disk() after del_gendisk(). Once a Rust GenDisk has been added with device_add_disk(), del_gendisk() only unregisters it; the final gendisk reference still has to be dropped to complete the release path.
    Added Reference https://git.kernel.org/stable/c/2957771379fa335103a4b539db57bb2271e12142
    Added Reference https://git.kernel.org/stable/c/6822a2685b4da9a87efd1fce4b042678a31ff734
    Added Reference https://git.kernel.org/stable/c/d1dcaa5229a63a6b6df7e0f673fe576cf3d6e8cb
    Added Reference https://git.kernel.org/stable/c/e7636f26f77070a529c26d65afd217514ce85ce4
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.