CVE-2026-43338
Transaction Abort in Linux Kernel Btrfs
Publication date: 2026-05-08
Last updated on: 2026-05-08
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | kernel | 6.19.0-rc8-btrfs-next-225+ |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability exists in the Linux kernel's btrfs filesystem related to how transaction items are reserved for quota group (qgroup) ioctls. Currently, qgroup ioctls do not reserve any space for quota tree updates or delayed references, instead relying on a global block reserve. This can lead to transaction aborts due to insufficient reserved space when delayed references are processed, causing errors such as -ENOSPC (no space left on device). The issue manifests as aborted transactions during quota operations, which can disrupt filesystem operations.
How can this vulnerability impact me? :
The vulnerability can cause transaction aborts in the btrfs filesystem when performing quota group operations. This means that filesystem operations involving quota updates may fail unexpectedly due to space reservation issues, potentially leading to errors during mounting, unmounting, or quota management. While this may not model typical real-world use cases, it can result in instability or failure of filesystem operations under certain conditions.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by observing transaction abort errors related to btrfs quota group (qgroup) ioctls in system logs such as dmesg or syslog.
A specific reproducer script example is provided that triggers the issue by creating many qgroups on a limited size btrfs filesystem, which can be used to test for the vulnerability.
The example commands include formatting a device with btrfs, mounting it, enabling quota, creating many qgroups, and then unmounting to observe errors.
- mkfs.btrfs -f -b 1G /dev/nullb0
- mount -o commit=600 /dev/nullb0 /mnt/nullb0
- fallocate -l 800M /mnt/nullb0/filler
- btrfs quota enable /mnt/nullb0
- for ((i = 1; i <= 400000; i++)); do btrfs qgroup create 1/$i /mnt/nullb0; done
- umount /mnt/nullb0
After running these commands, check dmesg or syslog for messages indicating transaction aborts such as 'BTRFS: Transaction aborted (error -28)'.