In the Linux kernel, the following vulnerability has been resolved:
btrfs: make sure that WRITTEN is set on all metadata blocks
We previously would call btrfs_check_leaf() if we had the check integrity code enabled, which meant that we could only run the extended leaf checks if we had WRITTEN set on the header flags.
This leaves a gap in our checking, because we could end up with corruption on disk where WRITTEN isn't set on the leaf, and then the extended leaf checks don't get run which we rely on to validate all of the item pointers to make sure we don't access memory outside of the extent buffer.
However, since 732fab95abe2 ("btrfs: check-integrity: remove CONFIG_BTRFS_FS_CHECK_INTEGRITY option") we no longer call btrfs_check_leaf() from btrfs_mark_buffer_dirty(), which means we only ever call it on blocks that are being written out, and thus have WRITTEN set, or that are being read in, which should have WRITTEN set.
Add checks to make sure we have WRITTEN set appropriately, and then make sure __btrfs_check_leaf() always does the item checking. This will protect us from file systems that have been corrupted and no longer have WRITTEN set on some of the blocks.
This was hit on a crafted image tweaking the WRITTEN bit and reported by KASAN as out-of-bound access in the eb accessors. The example is a dir item at the end of an eb.
[2.042] BTRFS warning (device loop1): bad eb member start: ptr 0x3fff start 30572544 member offset 16410 size 2 [2.040] general protection fault, probably for non-canonical address 0xe0009d1000000003: 0000 [#1] PREEMPT SMP KASAN NOPTI [2.537] KASAN: maybe wild-memory-access in range [0x0005088000000018-0x000508800000001f] [2.729] CPU: 0 PID: 2587 Comm: mount Not tainted 6.8.2 #1 [2.729] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 [2.621] RIP: 0010:btrfs_get_16+0x34b/0x6d0 [2.621] RSP: 0018:ffff88810871fab8 EFLAGS: 00000206 [2.621] RAX: 0000a11000000003 RBX: ffff888104ff8720 RCX: ffff88811b2288c0 [2.621] RDX: dffffc0000000000 RSI: ffffffff81dd8aca RDI: ffff88810871f748 [2.621] RBP: 000000000000401a R08: 0000000000000001 R09: ffffed10210e3ee9 [2.621] R10: ffff88810871f74f R11: 205d323430333737 R12: 000000000000001a [2.621] R13: 000508800000001a R14: 1ffff110210e3f5d R15: ffffffff850011e8 [2.621] FS: 00007f56ea275840(0000) GS:ffff88811b200000(0000) knlGS:0000000000000000 [2.621] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [2.621] CR2: 00007febd13b75c0 CR3: 000000010bb50000 CR4: 00000000000006f0 [2.621] Call Trace: [2.621] <TASK> [2.621] ? show_regs+0x74/0x80 [2.621] ? die_addr+0x46/0xc0 [2.621] ? exc_general_protection+0x161/0x2a0 [2.621] ? asm_exc_general_protection+0x26/0x30 [2.621] ? btrfs_get_16+0x33a/0x6d0 [2.621] ? btrfs_get_16+0x34b/0x6d0 [2.621] ? btrfs_get_16+0x33a/0x6d0 [2.621] ? __pfx_btrfs_get_16+0x10/0x10 [2.621] ? __pfx_mutex_unlock+0x10/0x10 [2.621] btrfs_match_dir_item_name+0x101/0x1a0 [2.621] btrfs_lookup_dir_item+0x1f3/0x280 [2.621] ? __pfx_btrfs_lookup_dir_item+0x10/0x10 [2.621] btrfs_get_tree+0xd25/0x1910
[ copy more details from report ]
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | May 15, 2025 | May 20, 2024 |
| Dell Powerstore Dsa2025342 | — | Upgrade Dell PowerStoreOS to the latest version | Jan 13, 2026 | Sep 2, 2025 |
| Suse | — | Upgrade kernel-rt_debug-develUpgrade gfs2-kmp-azureUpgrade kernel-default-extraUpgrade kselftests-kmp-64kbUpgrade gfs2-kmp-64kbUpgrade dtb-socionextUpgrade kernel-debug-develUpgrade dtb-exynosUpgrade dtb-lgUpgrade kernel-debugUpgrade ocfs2-kmp-rtUpgrade kernel-default-develUpgrade kernel-rt-optionalUpgrade reiserfs-kmp-64kbUpgrade dtb-apmUpgrade dtb-caviumUpgrade kernel-zfcpdumpUpgrade kernel-macrosUpgrade kernel-64kb-optionalUpgrade kernel-default-livepatchUpgrade dtb-amazonUpgrade kernel-devel-azureUpgrade dtb-alteraUpgrade kernel-rt-livepatch-develUpgrade reiserfs-kmp-rtUpgrade kernel-kvmsmall-develUpgrade dtb-broadcomUpgrade kernel-azure-vdsoUpgrade kernel-symsUpgrade kernel-docs-htmlUpgrade gfs2-kmp-rtUpgrade dtb-freescaleUpgrade reiserfs-kmp-defaultUpgrade kernel-source-rtUpgrade kernel-syms-rtUpgrade kernel-64kbUpgrade kernel-azure-optionalUpgrade kernel-64kb-livepatch-develUpgrade kselftests-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade dtb-appleUpgrade kernel-kvmsmallUpgrade kernel-kvmsmall-livepatch-develUpgrade cluster-md-kmp-azureUpgrade ocfs2-kmp-azureUpgrade dtb-renesasUpgrade ocfs2-kmp-64kbUpgrade dtb-amdUpgrade dtb-amlogicUpgrade kernel-azure-extraUpgrade kernel-rt_debugUpgrade dtb-hisiliconUpgrade kernel-azure-develUpgrade kernel-default-livepatch-develUpgrade kernel-rt-livepatchUpgrade kernel-source-azureUpgrade cluster-md-kmp-defaultUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-azure-baseUpgrade dtb-marvellUpgrade kernel-64kb-extraUpgrade kernel-rt-develUpgrade kernel-devel-rtUpgrade kernel-preempt-develUpgrade kernel-azureUpgrade kernel-debug-livepatch-develUpgrade kernel-default-base-rebuildUpgrade dtb-nvidiaUpgrade kernel-defaultUpgrade kernel-obs-buildUpgrade kernel-preemptUpgrade dlm-kmp-defaultUpgrade kernel-rt-extraUpgrade gfs2-kmp-defaultUpgrade cluster-md-kmp-rtUpgrade kernel-kvmsmall-vdsoUpgrade reiserfs-kmp-azureUpgrade kernel-syms-azureUpgrade kernel-source-vanillaUpgrade kselftests-kmp-rtUpgrade dtb-allwinnerUpgrade kernel-debug-vdsoUpgrade kernel-default-optionalUpgrade kernel-default-baseUpgrade kernel-rt_debug-vdsoUpgrade dtb-sprdUpgrade dtb-rockchipUpgrade dlm-kmp-rtUpgrade cluster-md-kmp-64kbUpgrade kselftests-kmp-defaultUpgrade kernel-rt-vdsoUpgrade kernel-default-vdsoUpgrade kernel-azure-livepatch-develUpgrade dtb-armUpgrade kernel-develUpgrade dtb-xilinxUpgrade dtb-qcomUpgrade dlm-kmp-azureUpgrade kernel-rtUpgrade kernel-docsUpgrade dtb-mediatekUpgrade kernel-obs-qaUpgrade kernel-sourceUpgrade kernel-64kb-develUpgrade kernel-default-manUpgrade dlm-kmp-64kb | Aug 14, 2024 | May 20, 2024 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1012-azure-fdeUpgrade linux-image-6.8.0-40-lowlatencyUpgrade linux-image-raspiUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1010-ibmUpgrade linux-image-generic-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1012-gcpUpgrade linux-image-azureUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-40-lowlatency-64kUpgrade linux-image-6.8.0-1011-nvidiaUpgrade linux-image-ibm-classicUpgrade linux-image-lowlatencyUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1010-oemUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1013-awsUpgrade linux-image-6.8.0-40-genericUpgrade linux-image-6.8.0-1012-azureUpgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-40-generic-64kUpgrade linux-image-genericUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-ibmUpgrade linux-image-6.8.0-1011-nvidia-64kUpgrade linux-image-6.8.0-1009-raspiUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1011-nvidia-lowlatency-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-virtualUpgrade linux-image-oem-24.04aUpgrade linux-image-awsUpgrade linux-image-generic-lpaeUpgrade linux-image-oracle-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1010-oracle-64kUpgrade linux-image-6.8.0-1008-gkeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-24.04Upgrade linux-image-kvmUpgrade linux-image-gcpUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1011-nvidia-lowlatencyUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1010-oracle | Aug 9, 2024 | May 20, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 22, 2025 | May 20, 2024 |
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