Cloudanix VulnDB

CVE-2026-98962

None

CVSS

—

EPSS

0.2%

Published

Oct 23, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A small error-handling mistake in the Linux kernel can cause memory to be used up over time on systems that store files with the btrfs file system.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Theoretical
Impact
Denial Of Service
Component
OS kernel
Class
Other
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

On error paths in btrfs_uring_read_extent the iov allocation is not freed because control jumps to out_acct instead of out_free, leaving the kernel memory allocated.

Why it matters to the business

Repeated triggering can slowly exhaust kernel memory on btrfs file systems that use io_uring, raising the chance of performance degradation or forced restarts.

How an attack unfolds

An attacker crafts I/O requests that cause btrfs_uring_read_extent to fail repeatedly; each failure leaks the iov structure until memory pressure forces system impact.

How to fix it

Apply the upstream kernel patch that routes failure cases through out_free so kfree(data->iov) occurs, then rebuild and reboot onto the fixed kernel.

How to confirm the fix worked

Confirm the btrfs source contains the corrected control flow that frees iov on every non-EIOCBQUEUED return from btrfs_uring_read_extent; run targeted stress tests that force read-extent errors and verify no net memory growth.

Typical attack path

  1. Identify a btrfs volume and enable io_uring access
  2. Submit read requests engineered to hit failure conditions inside btrfs_uring_read_extent
  3. Repeat at high volume to accumulate leaked kernel memory

How to detect it

Review kernel memory statistics and slab allocator counters for sustained growth tied to io_uring and btrfs activity; examine audit logs for repeated btrfs read operations that return errors.

What your security team should do

  • Prioritize kernel updates on any system exposing btrfs volumes to untrusted io_uring callers
  • Add memory-usage monitoring for the btrfs and io_uring code paths
  • Disable io_uring for untrusted workloads until patches are deployed

The record

In the Linux kernel, the following vulnerability has been resolved: btrfs: free iov when btrfs_uring_read_extent() fails After btrfs_uring_read_extent(), the caller always jumped to out_acct. That skips kfree(data->iov), which is only correct for -EIOCBQUEUED where the deferred path owns the iov. On failure, fall through to out_free instead.

Affected packages

Ecosystem Package Introduced Fixed