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

btrfs: unlock inode and extent in caller when io_uring read extent fails

btrfs_uring_read_extent() runs only after btrfs_encoded_read() has taken
the inode shared lock and the extent lock. On failure it used to unlock
in out_fail, and a pages-array allocation failure returned -ENOMEM
without unlocking at all.

Unlock in the caller instead on all failure returns, matching the
copy_to_user() error path. The deferred -EIOCBQUEUED path still unlocks
in btrfs_uring_read_finished().
Published: 2026-10-23
Score: 4.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via deadlock
Action: Patch immediately
AI Analysis

Impact

The issue is triggered when the btrfs_uring_read_extent() function fails to release inode and extent locks due to an error handling bug. Because the locks remain held, other operations on the same resources block, potentially leading to deadlock or prolonged resource starvation, and resulting in a denial of service on the affected system. This flaw aligns with weakness identified by CWE-772.

Affected Systems

Any Linux kernel that implements the btrfs filesystem with io_uring support may be vulnerable. The advisory does not specify exact kernel versions, so any build lacking the patch could be affected; common distribution kernels that have not yet applied the update may also be at risk.

Risk and Exploitability

With a CVSS score of 4.7 and an EPSS score of less than 1%, the severity is moderate and the exploitation probability in the wild is very low. The flaw requires a user or process to trigger a failing io_uring read on a btrfs volume, which would primarily cause denial of service for other local users. Based on the description, the attack vector is inferred to be local, as the bug can only be triggered by a local attacker issuing the failing I/O operation.

Generated by OpenCVE AI on October 29, 2026 at 22:48 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to the latest Linux kernel that includes the btrfs io_uring lock release fix.
  • As a temporary measure, avoid performing io_uring read operations on btrfs volumes or disable io_uring support for btrfs until the kernel update is applied.
  • If a deadlock occurs, reboot the system to clear stuck locks and then apply the kernel update as soon as possible.

Generated by OpenCVE AI on October 29, 2026 at 22:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 29 Oct 2026 21:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-424
CWE-667

Thu, 29 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Moderate


Fri, 23 Oct 2026 18:00:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Fri, 23 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-424
CWE-667

Fri, 23 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: btrfs: unlock inode and extent in caller when io_uring read extent fails btrfs_uring_read_extent() runs only after btrfs_encoded_read() has taken the inode shared lock and the extent lock. On failure it used to unlock in out_fail, and a pages-array allocation failure returned -ENOMEM without unlocking at all. Unlock in the caller instead on all failure returns, matching the copy_to_user() error path. The deferred -EIOCBQUEUED path still unlocks in btrfs_uring_read_finished().
Title btrfs: unlock inode and extent in caller when io_uring read extent fails
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-23T12:19:29.616Z

Reserved: 2026-09-25T10:25:14.382Z

Link: CVE-2026-98961

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:17.500

Modified: 2026-10-23T13:17:17.500

Link: CVE-2026-98961

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-23T00:00:00Z

Links: CVE-2026-98961 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T23:00:06Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime