CVE-2026-68422 Overview
CVE-2026-68422 is a memory leak vulnerability in the Linux kernel's btrfs filesystem. The flaw exists in the merge_reloc_roots() function, where the kernel obtains a reference to a root but fails to release it when an unexpected reloc_root condition triggers a jump to the out label. This missing btrfs_put_root() call causes a reference count leak on the affected root object. The issue has been resolved upstream through commits landed in the stable kernel tree.
Critical Impact
Repeated invocation of the affected code path can leak root references in btrfs, preventing proper cleanup and contributing to resource exhaustion over the lifetime of a running system.
Affected Products
- Linux kernel (btrfs subsystem)
- Distributions shipping unpatched stable kernel branches
- Systems mounting btrfs filesystems with relocation operations
Discovery Timeline
- 2026-08-10 - CVE-2026-68422 published to NVD
- 2026-08-10 - Last updated in NVD database
Technical Details for CVE-2026-68422
Vulnerability Analysis
The defect resides in the btrfs relocation logic responsible for merging relocation trees back into their source roots. During merge_reloc_roots(), the kernel acquires a reference on a root structure before validating its associated reloc_root. When the validation detects an unexpected reloc_root state, the code branches to the out cleanup label. The cleanup path omits a btrfs_put_root() call, so the reference obtained earlier is never released. Each triggering event increments the reference counter without a matching decrement, producing a persistent leak of the root object in kernel memory.
Root Cause
The root cause is an incomplete error-handling path. The out label was written assuming the reference had not yet been acquired or was released elsewhere, but in the unexpected reloc_root branch neither condition holds. The upstream fix adds the missing btrfs_put_root() call so that the reference is dropped along every exit path.
Attack Vector
The vulnerability requires triggering the relocation code path against a btrfs volume in a state where a root has an unexpected reloc_root. Exploitation is not remote and does not yield code execution. The practical impact is a slow memory and reference leak that accumulates while a system remains online, degrading btrfs subsystem stability over time. No public proof of concept is available, and CVE-2026-68422 is not listed in the CISA KEV catalog. The EPSS probability is 0.209%.
No verified exploit code is available for this vulnerability. Technical details are documented in the upstream commits, including Kernel Git Commit 60a23d4e and Kernel Git Commit ce6050ba.
Detection Methods for CVE-2026-68422
Indicators of Compromise
- Gradual increase in kernel slab memory attributed to btrfs_root allocations without corresponding frees
- Persistent references on btrfs roots that should have been released after relocation operations
- Kernel log entries reporting unexpected reloc_root conditions in btrfs
Detection Strategies
- Inventory Linux hosts and compare running kernel versions against the fixed commits published on kernel.org
- Monitor /proc/slabinfo and /sys/kernel/slab/ counters for anomalous growth in btrfs-related caches
- Correlate btrfs balance and relocation activity with kernel memory metrics to identify leaking hosts
Monitoring Recommendations
- Enable telemetry that captures kernel version, distribution build, and patch level across the Linux estate
- Alert on sustained upward trends in kernel memory usage on hosts running btrfs workloads
- Review dmesg output for btrfs relocation warnings that indicate the affected code path is being exercised
How to Mitigate CVE-2026-68422
Immediate Actions Required
- Identify all Linux systems using btrfs and record their kernel versions
- Apply the stable kernel updates that include the upstream patch for merge_reloc_roots()
- Schedule reboots on affected hosts to activate the corrected kernel
Patch Information
The fix adds the missing btrfs_put_root() call in the error path of merge_reloc_roots(). Patched kernels are available through the stable tree. Reference commits: 60a23d4e, 72f673d1, 7591d172, b3d39b03, and ce6050ba. Apply the update supplied by your Linux distribution once available.
Workarounds
- Avoid unnecessary btrfs balance and relocation operations on unpatched systems
- Reboot long-running hosts periodically to reclaim leaked kernel memory until the patch is applied
- Consider migrating critical workloads to a patched kernel build ahead of scheduled maintenance windows
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

