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

btrfs: don't stash io_uring encoded data across -EAGAIN

Returning -EAGAIN while leaving btrfs_uring_encoded_data in the cmd PDU
leaks if the request is cancelled or the ring exits before reissue.
io_uring does not free driver PDU allocations on cleanup.

Write: io_queue_sqe() always issues with IO_URING_F_NONBLOCK first, so
return -EAGAIN before allocating and free data on every exit.

Read: free on nowait -EAGAIN too; only -EIOCBQUEUED keeps the allocation
for btrfs_uring_read_finished().
Published: 2026-10-23
Score: 3.3 Low
EPSS: < 1% Very Low
KEV: No
Impact: Data Leak via Resource Leak
Action: Immediate Patch
AI Analysis

Impact

The vulnerability resides in the Linux kernel’s handling of BTRFS file system operations via io_uring. When an io_uring request returns –EAGAIN, the code fails to clear a persistent buffer called btrfs_uring_encoded_data that remains attached to the command PDU. Because the driver does not free these allocations on cleanup, a cancelled or prematurely terminated request can expose the stale data to the requesting process, leaking potentially sensitive kernel or file system information. This flaw is a classic resource‑leak weakness (CWE‑772).

Affected Systems

All systems running a Linux kernel that includes BTRFS support with io_uring enabled are potentially impacted. The exploit is present in every kernel release that compiles the affected code paths until the documented patch that clears stale data on –EAGAIN is applied. No specific kernel version range is listed in the advisory, but any build containing the buggy paths is at risk.

Risk and Exploitability

Based on the description, it is inferred that the primary attack vector is local exploitation by a process that can issue io_uring requests to a BTRFS file system. The EPSS score of < 1 % indicates that real-world exploitation is unlikely, and the CVSS score of 3.3 reflects a low severity. The vulnerability is not listed in the CISA KEV catalog. An attacker would need sufficient privileges to target io_uring operations or abuse a privileged process to trigger repeated –EAGAIN cancellations, which could lead to information leakage or memory exhaustion. The attack is confined to scenarios where the kernel has not yet cleared orphaned buffers during a request failure.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest kernel update that implements the BTRFS fix for clearing encoded data on –EAGAIN.
  • If an immediate kernel update cannot be performed, disable io_uring support for BTRFS by setting the kernel configuration options CONFIG_IO_URING or CONFIG_BTRFS_IO_URING to off or by removing the io_uring interface from that file system.
  • If disabling io_uring is not possible, restart any services or the host that processes io_uring operations on BTRFS to clear pending requests, and monitor the system logs for repeated –EAGAIN errors as an indicator of potential leakage.

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-9018-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9018-2 Linux kernel (HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-9019-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9020-1 Linux kernel vulnerabilities
History

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

Type Values Removed Values Added
Weaknesses CWE-459

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

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

None

cvssV3_1

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

threat_severity

Low


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-459

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: don't stash io_uring encoded data across -EAGAIN Returning -EAGAIN while leaving btrfs_uring_encoded_data in the cmd PDU leaks if the request is cancelled or the ring exits before reissue. io_uring does not free driver PDU allocations on cleanup. Write: io_queue_sqe() always issues with IO_URING_F_NONBLOCK first, so return -EAGAIN before allocating and free data on every exit. Read: free on nowait -EAGAIN too; only -EIOCBQUEUED keeps the allocation for btrfs_uring_read_finished().
Title btrfs: don't stash io_uring encoded data across -EAGAIN
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:28.651Z

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

Link: CVE-2026-98960

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-98960

cve-icon Redhat

Severity : Low

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

Links: CVE-2026-98960 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T20:30:18Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime