CVE-2025-71159 btrfs: fix use-after-free warning in btrfs_get_or_create_delayed_node()
A race condition in the Linux kernel's btrfs filesystem can lead to a use-after-free warning and potential system instability.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-71159?
CVE-2025-71159 is a critical use after free vulnerability in Linux kernel, published on 23 Jan 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
btrfs: fix use-after-free warning in btrfs_get_or_create_delayed_node()
Previously, btrfs_get_or_create_delayed_node() set the delayed_node's refcount before acquiring the root->delayed_nodes lock. Commit e8513c012de7 ("btrfs: implement ref_tracker for delayed_nodes") moved refcount_set inside the critical section, which means there is no longer a memory barrier between setting the refcount and setting btrfs_inode->delayed_node.
Without that barrier, the stores to node->refs and btrfs_inode->delayed_node may become visible out of order. Another thread can then read btrfs_inode->delayed_node and attempt to increment a refcount that hasn't been set yet, leading to a refcounting bug and a use-after-free warning.
The fix is to move refcount_set back to where it was to take advantage of the implicit memory barrier provided by lock acquisition.
Because the allocations now happen outside of the lock's critical section, they can use GFP_NOFS instead of GFP_ATOMIC.
Weakness: CWE-416
Which versions are affected by CVE-2025-71159?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2025-71159?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2025-71159 being exploited?
There is no known exploitation of CVE-2025-71159 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2025-71159, DEBIAN-CVE-2025-71159, GHSA-h6p2-5h78-3xmh, UBUNTU-CVE-2025-71159.