CVE-2023-54002

linux: In the Linux kernel, the following vulnerability has been resolved: btrfs: fix assertion of exclop condition when st...

CVE-2023-54002 is fixed in 20 products on 1 platform, first by ALAS2023-2023-184, released May 25, 2023. It is not reported as exploited. Patch Radar priority: High.

High
CVSS
n/a
important
Exploitation
None reported
No vendor assessment
CISA KEV
Not listed
Not in the Known Exploited Vulnerabilities catalog
EPSS
0.0020
9th percentile

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix assertion of exclop condition when starting balance Balance as exclusive state is compatible with paused balance and device add, which makes some things more complicated. The assertion of valid states when starting from paused balance needs to take into account two more states, the combinations can be hit when there are several threads racing to start balance and device add. This won't typically happen when the commands are started from command line. Scenario 1: With exclusive_operation state == BTRFS_EXCLOP_NONE. Concurrently adding multiple devices to the same mount point and btrfs_exclop_finish executed finishes before assertion in btrfs_exclop_balance, exclusive_operation will changed to BTRFS_EXCLOP_NONE state which lead to assertion failed: fs_info->exclusive_operation == BTRFS_EXCLOP_BALANCE || fs_info->exclusive_operation == BTRFS_EXCLOP_DEV_ADD, in fs/btrfs/ioctl.c:456 Call Trace: <TASK> btrfs_exclop_balance+0x13c/0x310 ? memdup_user+0xab/0xc0 ? PTR_ERR+0x17/0x20 btrfs_ioctl_add_dev+0x2ee/0x320 btrfs_ioctl+0x9d5/0x10d0 ? btrfs_ioctl_encoded_write+0xb80/0xb80 __x64_sys_ioctl+0x197/0x210 do_syscall_64+0x3c/0xb0 entry_SYSCALL_64_after_hwframe+0x63/0xcd Scenario 2: With exclusive_operation state == BTRFS_EXCLOP_BALANCE_PAUSED. Concurrently adding multiple devices to the same mount point and btrfs_exclop_balance executed finish before the latter thread execute assertion in btrfs_exclop_balance, exclusive_operation will changed to BTRFS_EXCLOP_BALANCE_PAUSED state which lead to assertion failed: fs_info->exclusive_operation == BTRFS_EXCLOP_BALANCE || fs_info->exclusive_operation == BTRFS_EXCLOP_DEV_ADD || fs_info->exclusive_operation == BTRFS_EXCLOP_NONE, fs/btrfs/ioctl.c:458 Call Trace: <TASK> btrfs_exclop_balance+0x240/0x410 ? memdup_user+0xab/0xc0 ? PTR_ERR+0x17/0x20 btrfs_ioctl_add_dev+0x2ee/0x320 btrfs_ioctl+0x9d5/0x10d0 ? btrfs_ioctl_encoded_write+0xb80/0xb80 __x64_sys_ioctl+0x197/0x210 do_syscall_64+0x3c/0xb0 entry_SYSCALL_64_after_hwframe+0x63/0xcd An example of the failed assertion is below, which shows that the paused balance is also needed to be checked. root@syzkaller:/home/xsk# ./repro Failed to add device /dev/vda, errno 14 Failed to add device /dev/vda, errno 14 Failed to add device /dev/vda, errno 14 Failed to add device /dev/vda, errno 14 Failed to add device /dev/vda, errno 14 Failed to add device /dev/vda, errno 14 Failed to add device /dev/vda, errno 14 Failed to add device /dev/vda, errno 14 Failed to add device /dev/vda, errno 14 [ 416.611428][ T7970] BTRFS info (device loop0): fs_info exclusive_operation: 0 Failed to add device /dev/vda, errno 14 [ 416.613973][ T7971] BTRFS info (device loop0): fs_info exclusive_operation: 3 Failed to add device /dev/vda, errno 14 [ 416.615456][ T7972] BTRFS info (device loop0): fs_info exclusive_operation: 3 Failed to add device /dev/vda, errno 14 [ 416.617528][ T7973] BTRFS info (device loop0): fs_info exclusive_operation: 3 Failed to add device /dev/vda, errno 14 [ 416.618359][ T7974] BTRFS info (device loop0): fs_info exclusive_operation: 3 Failed to add device /dev/vda, errno 14 [ 416.622589][ T7975] BTRFS info (device loop0): fs_info exclusive_operation: 3 Failed to add device /dev/vda, errno 14 [ 416.624034][ T7976] BTRFS info (device loop0): fs_info exclusive_operation: 3 Failed to add device /dev/vda, errno 14 [ 416.626420][ T7977] BTRFS info (device loop0): fs_info exclusive_operation: 3 Failed to add device /dev/vda, errno 14 [ 416.627643][ T7978] BTRFS info (device loop0): fs_info exclusive_operation: 3 Failed to add device /dev/vda, errno 14 [ 416.629006][ T7979] BTRFS info (device loop0): fs_info exclusive_operation: 3 [ 416.630298][ T7980] BTRFS info (device loop0): fs_info exclusive_operation: 3 Fai ---truncated---

Where it's fixed

ProductFixed inFixReleased
Linux
bpftool · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
bpftool-debuginfo · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-debuginfo · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-debuginfo-common-aarch64 · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-debuginfo-common-x86_64 · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-devel · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-headers · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-libbpf · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-libbpf-devel · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-libbpf-static · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-livepatch-6.1.29-47.49 · amzn 2023 1.0-0.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-tools · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-tools-debuginfo · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
kernel-tools-devel · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
linux · Debian 12.15 (bookworm) 6.1.37-1 DEBIAN-CVE-2023-54002 Dec 24, 2025
linux · Debian 13.5 (trixie) 6.3.7-1 DEBIAN-CVE-2023-54002 Dec 24, 2025
linux · Debian 14 6.3.7-1 DEBIAN-CVE-2023-54002 Dec 24, 2025
perf · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
perf-debuginfo · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
python3-perf · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023
python3-perf-debuginfo · amzn 2023 6.1.29-47.49.amzn2023 ALAS2023-2023-184 May 25, 2023

Patch Radar data is free to use with attribution. Terms and how to credit it.

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.