In the Linux kernel, the following vulnerability has been resolved:
btrfs: reject root items with drop_progress and zero drop_level
[BUG] When recovering relocation at mount time, merge_reloc_root() and btrfs_drop_snapshot() both use BUG_ON(level == 0) to guard against an impossible state: a non-zero drop_progress combined with a zero drop_level in a root_item, which can be triggered:
------------[ cut here ]------------ kernel BUG at fs/btrfs/relocation.c:1545! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 1 UID: 0 PID: 283 ... Tainted: 6.18.0+ #16 PREEMPT(voluntary) Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE Hardware name: QEMU Ubuntu 24.04 PC v2, BIOS 1.16.3-debian-1.16.3-2 RIP: 0010:merge_reloc_root+0x1266/0x1650 fs/btrfs/relocation.c:1545 Code: ffff0000 00004589 d7e9acfa ffffe8a1 79bafebe 02000000 Call Trace: merge_reloc_roots+0x295/0x890 fs/btrfs/relocation.c:1861 btrfs_recover_relocation+0xd6e/0x11d0 fs/btrfs/relocation.c:4195 btrfs_start_pre_rw_mount+0xa4d/0x1810 fs/btrfs/disk-io.c:3130 open_ctree+0x5824/0x5fe0 fs/btrfs/disk-io.c:3640 btrfs_fill_super fs/btrfs/super.c:987 [inline] btrfs_get_tree_super fs/btrfs/super.c:1951 [inline] btrfs_get_tree_subvol fs/btrfs/super.c:2094 [inline] btrfs_get_tree+0x111c/0x2190 fs/btrfs/super.c:2128 vfs_get_tree+0x9a/0x370 fs/super.c:1758 fc_mount fs/namespace.c:1199 [inline] do_new_mount_fc fs/namespace.c:3642 [inline] do_new_mount fs/namespace.c:3718 [inline] path_mount+0x5b8/0x1ea0 fs/namespace.c:4028 do_mount fs/namespace.c:4041 [inline] __do_sys_mount fs/namespace.c:4229 [inline] __se_sys_mount fs/namespace.c:4206 [inline] __x64_sys_mount+0x282/0x320 fs/namespace.c:4206 ... RIP: 0033:0x7f969c9a8fde Code: 0f1f4000 48c7c2b0 fffffff7 d8648902 b8ffffff ffc3660f ---[ end trace 0000000000000000 ]---
The bug is reproducible on 7.0.0-rc2-next-20260310 with our dynamic metadata fuzzing tool that corrupts btrfs metadata at runtime.
[CAUSE] A non-zero drop_progress.objectid means an interrupted btrfs_drop_snapshot() left a resume point on disk, and in that case drop_level must be greater than 0 because the checkpoint is only saved at internal node levels.
Although this invariant is enforced when the kernel writes the root item, it is not validated when the root item is read back from disk. That allows on-disk corruption to provide an invalid state with drop_progress.objectid != 0 and drop_level == 0.
When relocation recovery later processes such a root item, merge_reloc_root() reads drop_level and hits BUG_ON(level == 0). The same invalid metadata can also trigger the corresponding BUG_ON() in btrfs_drop_snapshot().
[FIX] Fix this by validating the root_item invariant in tree-checker when reading root items from disk: if drop_progress.objectid is non-zero, drop_level must also be non-zero. Reject such malformed metadata with -EUCLEAN before it reaches merge_reloc_root() or btrfs_drop_snapshot() and triggers the BUG_ON.
After the fix, the same corruption is correctly rejected by tree-checker and the BUG_ON is no longer triggered.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-toolsUpgrade python-perfUpgrade kernel-tools-debuginfoUpgrade bpftoolUpgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade kernel-develUpgrade python-perf-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade kernel-headersUpgrade perfUpgrade perf-debuginfoUpgrade kernel-livepatch-5.15.204-143.230Upgrade kernel | May 20, 2026 | May 20, 2026 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | May 3, 2026 | May 3, 2026 |
| Ubuntu | — | Upgrade linux-image-5.15.0-1053-nvidia-tegra-igx-rtUpgrade linux-image-oem-22.04dUpgrade linux-image-realtimeUpgrade linux-image-virtual-5.15Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-5.15.0-1112-awsUpgrade linux-image-azure-cvmUpgrade linux-image-azure-fipsUpgrade linux-image-aws-64k-5.15Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1030-nvidia-tegraUpgrade linux-image-5.15.0-1104-intel-iot-realtimeUpgrade linux-image-5.15.0-1106-raspiUpgrade linux-image-6.8.0-1061-ibmUpgrade linux-image-oracleUpgrade linux-image-azure-5.15Upgrade linux-image-kvmUpgrade linux-image-fips-6.8Upgrade linux-image-aws-fips-5.15Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.8.0-2050-raspi-realtimeUpgrade linux-image-gcp-64kUpgrade linux-image-xilinx-6.8Upgrade linux-image-6.8.0-1064-gcp-64kUpgrade linux-image-6.8.0-136-lowlatency-64kUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-oem-20.04dUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1109-oracleUpgrade linux-image-oracle-64kUpgrade linux-image-gke-64k-6.8Upgrade linux-image-5.15.0-1064-nvidia-tegraUpgrade linux-image-6.8.0-1061-aws-64kUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-generic-6.8Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-aws-5.15Upgrade linux-image-gcp-5.15Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-5.15.0-184-lowlatencyUpgrade linux-image-awsUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-laptop-23.10Upgrade linux-image-raspi-realtimeUpgrade linux-image-generic-64k-6.8Upgrade linux-image-virtualUpgrade linux-image-realtime-5.15Upgrade linux-image-aws-fips-6.8Upgrade linux-image-azure-fde-6.8Upgrade linux-image-6.8.0-136-genericUpgrade linux-image-6.8.0-1033-xilinxUpgrade linux-image-6.8.0-1064-gcpUpgrade linux-image-gcp-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-5.15.0-186-fipsUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1059-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1064-nvidia-tegra-rtUpgrade linux-image-5.15.0-1107-intel-iotgUpgrade linux-image-5.15.0-1117-azureUpgrade linux-image-5.15.0-1107-nvidia-lowlatencyUpgrade linux-image-5.15.0-1053-nvidia-tegra-igxUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-raspi-5.15Upgrade linux-image-ibm-6.8Upgrade linux-image-raspi-nolpaeUpgrade linux-image-azure-fips-6.8Upgrade linux-image-gcpUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-6.8.0-1061-awsUpgrade linux-image-5.15.0-1095-gkeopUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-6.8.1-1056-realtimeUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-1063-azureUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1061-aws-fipsUpgrade linux-image-fips-5.15Upgrade linux-image-5.15.0-184-lowlatency-64kUpgrade linux-image-5.15.0-186-generic-64kUpgrade linux-image-6.8.0-1059-nvidiaUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-oem-20.04Upgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-5.15.0-186-genericUpgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-136-lowlatencyUpgrade linux-image-xilinxUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-raspi-6.8Upgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-aws-lts-24.04Upgrade linux-image-genericUpgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-1063-azure-fipsUpgrade linux-image-6.8.0-1061-raspiUpgrade linux-image-6.8.0-1059-gke-64kUpgrade linux-image-5.15.0-186-generic-lpaeUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-oem-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-lowlatency-6.8Upgrade linux-image-azure-fips-5.15Upgrade linux-image-aws-64kUpgrade linux-image-ibmUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-tegraUpgrade linux-image-gcp-fipsUpgrade linux-image-kvm-5.15Upgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-generic-5.15Upgrade linux-image-fipsUpgrade linux-image-azureUpgrade linux-image-6.8.0-1059-nvidia-64kUpgrade linux-image-6.8.0-1059-gkeUpgrade linux-image-6.8.0-1058-oracleUpgrade linux-image-5.15.0-1108-gkeUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-nvidia-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-intelUpgrade linux-image-5.15.0-1112-aws-fipsUpgrade linux-image-lowlatency-5.15Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-raspiUpgrade linux-image-gke-6.8Upgrade linux-image-5.15.0-1112-gcpUpgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1046-gkeopUpgrade linux-image-5.15.0-1112-aws-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-oem-20.04cUpgrade linux-image-lowlatencyUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-azure-6.8Upgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-5.15.0-1107-nvidiaUpgrade linux-image-5.15.0-1075-xilinx-zynqmpUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-azure-lts-24.04Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-generic-64kUpgrade linux-image-5.15.0-1111-realtimeUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-oracle-5.15Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1064-gcp-fipsUpgrade linux-image-5.15.0-1106-ibmUpgrade linux-image-5.15.0-1104-kvmUpgrade linux-image-azure-fde-5.15Upgrade linux-image-6.8.0-136-fipsUpgrade linux-image-nvidia-5.15Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-intel-iotgUpgrade linux-image-gkeUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-gkeopUpgrade linux-image-aws-lts-22.04Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-generic-64k-5.15Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1058-oracle-64kUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1117-azure-fdeUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-oem-20.04bUpgrade linux-image-6.8.0-1030-nvidia-tegra-rtUpgrade linux-image-6.8.0-1059-nvidia-lowlatencyUpgrade linux-image-5.15.0-1117-azure-fipsUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-azure-lts-22.04Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-virtual-6.8Upgrade linux-image-gke-64kUpgrade linux-image-5.15.0-1112-gcp-fipsUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-ibm-5.15 | Jul 20, 2026 | May 1, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | May 1, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub