CVE-2026-98091

btrfs: detach failed sprout device from transaction update list

Published Sep 25, 2026 CVSS 3.1 · 5.5 Medium EPSS < 1% KEV · Not listed
Description
In the Linux kernel, the following vulnerability has been resolved:

btrfs: detach failed sprout device from transaction update list

When creating the first metadata chunk for a sprout filesystem,
create_chunk() adds the new device to the transaction dev_update_list
through device->post_commit_list.

If the subsequent system chunk creation fails, btrfs_init_new_device()
aborts the transaction and releases the device while post_commit_list is
still linked. This triggers a warning in btrfs_free_device() and leaves
the transaction list referencing freed memory.

Detach the device while holding chunk_mutex before releasing it.

Analysis

AI-generated

Technical impact

The bug is a use‑after‑free in the Btrfs filesystem driver that occurs when creating the first metadata chunk for a sprout filesystem. If a subsequent system chunk creation fails, the code aborts the transaction and releases the device while it remains on the transaction update list, leaving the list pointing to freed memory. This condition can trigger a kernel memory corruption, which may allow an attacker with sufficient privileges to execute arbitrary code in kernel mode. The weakness is a classic use‑after‑free (CWE‑416).

Affected Systems

All Linux kernel releases that include Btrfs support for sprout filesystems are affected. No specific version information is listed in the available data.

Risk and Exploitability

The EPSS score of < 1% indicates very low reported exploitation probability, and the CVSS score of 5.5 grades the vulnerability as medium severity. It is not listed in the CISA KEV catalog, so no public exploit is documented yet. The kernel‑level nature of the bug suggests a successful exploit would grant privilege escalation but the low exploitation probability mitigates immediate risk. The likely attack vector is local and would require an attacker to exercise privileged control over sprout filesystem operations to trigger the failure path.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Install a Linux kernel version that contains the btrfs patch which removes the faulty detachment logic.
  • If a kernel update is not immediately possible, apply a temporary code change by detaching the device while holding chunk_mutex before releasing it, following the guidance in the source commit notes.
  • If sprout filesystems are not required, disable or remove the sprout feature from the kernel configuration to eliminate the attack surface.

Generated by OpenCVE AI on October 23, 2026 at 22:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DLA Debian DLA DLA-4841-1 linux security update
Debian DSA Debian DSA DSA-6528-1 linux security update
Ubuntu USN Ubuntu USN USN-8961-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9019-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9020-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9022-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9023-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9024-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9025-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9026-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9029-1 Linux kernel (Raspberry Pi) vulnerabilities
Ubuntu USN Ubuntu USN USN-9039-1 Linux kernel (Azure CVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-9040-1 Linux kernel (Low Latency NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-9066-1 Linux kernel (HWE) vulnerabilities
History
Type Values Removed Values Added
CPEs cpe:2.3:o:linux:linux_kernel:7.3:rc1:*:*:*:*:*:*
Metrics cvssV3_1

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

Type Values Removed Values Added
Weaknesses CWE-416
Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: btrfs: detach failed sprout device from transaction update list When creating the first metadata chunk for a sprout filesystem, create_chunk() adds the new device to the transaction dev_update_list through device->post_commit_list. If the subsequent system chunk creation fails, btrfs_init_new_device() aborts the transaction and releases the device while post_commit_list is still linked. This triggers a warning in btrfs_free_device() and leaves the transaction list referencing freed memory. Detach the device while holding chunk_mutex before releasing it.
Title btrfs: detach failed sprout device from transaction update list
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
Oct 19, 2026, 9:13 AM
Reserved
Sep 25, 2026, 10:19 AM
Status
Analyzed
Published
Sep 25, 2026, 11:17 AM
Modified
Oct 23, 2026, 6:55 PM