btrfs: skip global block reserve accounting for rescue mounts
CVE-2026-74571 is fixed in 16 products on 1 platform, first by DEBIAN-CVE-2026-74571, released August 16, 2026. It is not reported as exploited. Patch Radar priority: Routine.
In the Linux kernel, the following vulnerability has been resolved: btrfs: skip global block reserve accounting for rescue mounts [BUG] Mounting with rescue=ibadroots after corrupting the block group tree root triggers a NULL pointer dereference: BUG: kernel NULL pointer dereference, address: 0000000000000100 RIP: 0010:btrfs_update_global_block_rsv+0x9d/0x1c0 [btrfs] Call Trace: fill_dummy_bgs+0xd4/0x120 [btrfs] open_ctree+0xc6e/0x1ca0 [btrfs] btrfs_get_tree+0x50d/0xa40 [btrfs] The same crash occurs with a corrupted raid stripe tree root, via btrfs_read_block_groups() instead of fill_dummy_bgs(). [CAUSE] With rescue=ibadroots, btrfs_read_roots() allows the mount to continue when either root cannot be read, leaving the corresponding root pointer NULL while its on-disk feature bit remains set. btrfs_update_global_block_rsv() then dereferences the missing root based on the feature bit alone. [FIX] Rescue mounts are fully read-only and cannot start transactions, so the global reserve is never consumed. Under btrfs_is_full_ro(), mark the reserve as full and return before performing the accounting. And since we need to check if the fs is mount fully RO, export fs_is_full_ro() as btrfs_is_full_ro(), and move it to fs.h. [ Squash the fs_is_full_ro() export commit into this one. ]
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Linux | |||
| dtb-aarch64 · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-64kb · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-64kb · sles 15.7 | 6.4.0-150700.53.81.1 | SUSE-SU-2026:4254-1 | Oct 7, 2026 |
| kernel-64kb · sles 16.0 | 6.12.0-160000.38.1 | SUSE-SU-2026:23902-1 | Sep 22, 2026 |
| kernel-azure · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-azure · sles 15.7 | 6.4.0-150700.53.81.1 | SUSE-SU-2026:4254-1 | Oct 7, 2026 |
| kernel-azure · sles 16.0 | 6.12.0-160000.38.1 | SUSE-SU-2026:23902-1 | Sep 22, 2026 |
| kernel-default · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-default · sles 15.7 | 6.4.0-150700.53.81.1 | SUSE-SU-2026:4254-1 | Oct 7, 2026 |
| kernel-default · sles 16.0 | 6.12.0-160000.38.1 | SUSE-SU-2026:23902-1 | Sep 22, 2026 |
| kernel-default-base · opensuse-leap 16.0 | 6.12.0-160000.38.1.160000.2.22 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-default-base · sles 15.7 | 6.4.0-150700.53.81.1.150700.17.45.1 | SUSE-SU-2026:4254-1 | Oct 7, 2026 |
| kernel-default-base · sles 16.0 | 6.12.0-160000.38.1.160000.2.23 | SUSE-SU-2026:23902-1 | Sep 22, 2026 |
| kernel-docs · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-docs · sles 15.7 | 6.4.0-150700.53.81.1 | SUSE-SU-2026:4254-1 | Oct 7, 2026 |
| kernel-docs · sles 16.0 | 6.12.0-160000.38.1 | SUSE-SU-2026:23902-1 | Sep 22, 2026 |
| kernel-kvmsmall · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-kvmsmall · sles 16.0 | 6.12.0-160000.38.1 | SUSE-SU-2026:23902-1 | Sep 22, 2026 |
| kernel-livepatch-SLE15-SP7-RT_Update_20 · sles 15.7 | 1-150700.1.3.1 | SUSE-SU-2026:4120-1 | Sep 10, 2026 |
| kernel-livepatch-SLE15-SP7_Update_21 · sles 15.7 | 1-150700.15.3.1 | SUSE-SU-2026:4254-1 | Oct 7, 2026 |
| kernel-obs-build · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-obs-build · sles 15.7 | 6.4.0-150700.53.81.1 | SUSE-SU-2026:4254-1 | Oct 7, 2026 |
| kernel-obs-qa · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-obs-qa · sles 16.0 | 6.12.0-160000.38.1 | SUSE-SU-2026:23902-1 | Sep 22, 2026 |
| kernel-rt · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-source · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-source · sles 15.7 | 6.4.0-150700.53.81.1 | SUSE-SU-2026:4254-1 | Oct 7, 2026 |
| kernel-source · sles 16.0 | 6.12.0-160000.38.1 | SUSE-SU-2026:23902-1 | Sep 22, 2026 |
| kernel-syms · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-syms · sles 15.7 | 6.4.0-150700.53.81.1 | SUSE-SU-2026:4254-1 | Oct 7, 2026 |
| kernel-syms · sles 16.0 | 6.12.0-160000.38.1 | SUSE-SU-2026:23902-1 | Sep 22, 2026 |
| kernel-zfcpdump · opensuse-leap 16.0 | 6.12.0-160000.38.1 | OPENSUSE-SU-2026:21910-1 | Sep 22, 2026 |
| kernel-zfcpdump · sles 15.7 | 6.4.0-150700.53.81.1 | SUSE-SU-2026:4254-1 | Oct 7, 2026 |
| kernel-zfcpdump · sles 16.0 | 6.12.0-160000.38.1 | SUSE-SU-2026:23902-1 | Sep 22, 2026 |
| linux · Debian 13.5 (trixie) | 6.12.115-2 | DEBIAN-CVE-2026-74571 | Aug 16, 2026 |
| linux · Debian 14 | 7.1.8-1 | DEBIAN-CVE-2026-74571 | Aug 16, 2026 |
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.