CVE-2025-38059
Description
In the Linux kernel, the following vulnerability has been resolved:
btrfs: avoid NULL pointer dereference if no valid csum tree
[BUG] When trying read-only scrub on a btrfs with rescue=idatacsums mount option, it will crash with the following call trace:
BUG: kernel NULL pointer dereference, address: 0000000000000208 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page CPU: 1 UID: 0 PID: 835 Comm: btrfs Tainted: G O 6.15.0-rc3-custom+ #236 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS unknown 02/02/2022 RIP: 0010:btrfs_lookup_csums_bitmap+0x49/0x480 [btrfs] Call Trace:
scrub_find_fill_first_stripe+0x35b/0x3d0 [btrfs] scrub_simple_mirror+0x175/0x290 [btrfs] scrub_stripe+0x5f7/0x6f0 [btrfs] scrub_chunk+0x9a/0x150 [btrfs] scrub_enumerate_chunks+0x333/0x660 [btrfs] btrfs_scrub_dev+0x23e/0x600 [btrfs] btrfs_ioctl+0x1dcf/0x2f80 [btrfs] __x64_sys_ioctl+0x97/0xc0 do_syscall_64+0x4f/0x120 entry_SYSCALL_64_after_hwframe+0x76/0x7e
[CAUSE] Mount option "rescue=idatacsums" will completely skip loading the csum tree, so that any data read will not find any data csum thus we will ignore data checksum verification.
Normally call sites utilizing csum tree will check the fs state flag NO_DATA_CSUMS bit, but unfortunately scrub does not check that bit at all.
This results in scrub to call btrfs_search_slot() on a NULL pointer and triggered above crash.
[FIX] Check both extent and csum tree root before doing any tree search.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
88cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*+ 7 more
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*range: >=5.9,<6.6.93
- cpe:2.3:o:linux:linux_kernel:6.15:rc1:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:6.15:rc2:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:6.15:rc3:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:6.15:rc4:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:6.15:rc5:*:*:*:*:*:*
- (no CPE)
- (no CPE)range: 5.9
- osv-coords79 versionspkg:linux/kernelpkg:rpm/opensuse/dtb-aarch64&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-64kb&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-debug&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-docs&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-kvmsmall&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-obs-build&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-obs-qa&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-rt_debug&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-source&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-source-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-source-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-zfcpdump&distro=openSUSE%20Leap%2015.6pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-coco&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Confidential%20Computing%20Technical%20Preview%2015%20SP6pkg:rpm/suse/kernel-coco_debug&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Confidential%20Computing%20Technical%20Preview%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Legacy%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Legacy%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-livepatch-SLE15-SP6-RT_Update_13&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-livepatch-SLE15-SP6_Update_13&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-livepatch-SLE15-SP7-RT_Update_2&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-livepatch-SLE15-SP7_Update_2&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-rt_debug&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-source-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-source-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-source-coco&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Confidential%20Computing%20Technical%20Preview%2015%20SP6pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-syms-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-syms-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-syms-coco&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Confidential%20Computing%20Technical%20Preview%2015%20SP6pkg:rpm/suse/kernel-syms-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-syms-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7
>= 5.9.0, < 6.6.93+ 78 more
- (no CPE)range: >= 5.9.0, < 6.6.93
- (no CPE)range: < 6.4.0-150600.23.60.3
- (no CPE)range: < 6.4.0-150600.23.60.4
- (no CPE)range: < 6.4.0-150600.8.43.1
- (no CPE)range: < 6.4.0-150600.23.60.4
- (no CPE)range: < 6.4.0-150600.23.60.5
- (no CPE)range: < 6.4.0-150600.23.60.5.150600.12.26.4
- (no CPE)range: < 6.4.0-150600.23.60.3
- (no CPE)range: < 6.4.0-150600.23.60.4
- (no CPE)range: < 6.4.0-150600.23.60.3
- (no CPE)range: < 6.4.0-150600.23.60.2
- (no CPE)range: < 6.4.0-150600.10.44.1
- (no CPE)range: < 6.4.0-150600.10.44.1
- (no CPE)range: < 6.4.0-150600.23.60.4
- (no CPE)range: < 6.4.0-150600.8.43.1
- (no CPE)range: < 6.4.0-150600.10.44.1
- (no CPE)range: < 6.4.0-150600.23.60.4
- (no CPE)range: < 6.4.0-150600.8.43.1
- (no CPE)range: < 6.4.0-150600.10.44.1
- (no CPE)range: < 6.4.0-150600.23.60.4
- (no CPE)range: < 6.4.0-150600.23.60.4
- (no CPE)range: < 6.4.0-150700.53.6.1
- (no CPE)range: < 6.4.0-150600.8.43.1
- (no CPE)range: < 6.4.0-150700.20.6.1
- (no CPE)range: < 6.4.0-15061.28.coco15sp6.1
- (no CPE)range: < 6.4.0-15061.28.coco15sp6.1
- (no CPE)range: < 6.4.0-150600.23.60.5
- (no CPE)range: < 6.4.0-150700.53.6.1
- (no CPE)range: < 6.4.0-150600.23.60.5
- (no CPE)range: < 6.4.0-150700.53.6.1
- (no CPE)range: < 6.4.0-150600.23.60.5
- (no CPE)range: < 6.4.0-150700.53.6.1
- (no CPE)range: < 6.4.0-150600.23.60.5
- (no CPE)range: < 6.4.0-150700.53.6.1
- (no CPE)range: < 6.4.0-150600.23.60.5
- (no CPE)range: < 6.4.0-150700.53.6.1
- (no CPE)range: < 6.4.0-31.1
- (no CPE)range: < 6.4.0-31.1
- (no CPE)range: < 6.4.0-150600.23.60.5.150600.12.26.4
- (no CPE)range: < 6.4.0-150700.53.6.1.150700.17.6.1
- (no CPE)range: < 6.4.0-31.1.21.9
- (no CPE)range: < 6.4.0-31.1.21.9
- (no CPE)range: < 6.4.0-150600.23.60.3
- (no CPE)range: < 6.4.0-150700.53.6.1
- (no CPE)range: < 6.4.0-31.1
- (no CPE)range: < 6.4.0-31.1
- (no CPE)range: < 1-150600.1.5.1
- (no CPE)range: < 1-150600.13.6.4
- (no CPE)range: < 1-150700.1.5.1
- (no CPE)range: < 1-150700.15.3.1
- (no CPE)range: < 6.4.0-150600.23.60.3
- (no CPE)range: < 6.4.0-150700.53.6.1
- (no CPE)range: < 6.4.0-34.1
- (no CPE)range: < 6.4.0-34.1
- (no CPE)range: < 6.4.0-150600.10.44.1
- (no CPE)range: < 6.4.0-150700.7.8.1
- (no CPE)range: < 6.4.0-150600.10.44.1
- (no CPE)range: < 6.4.0-150600.23.60.4
- (no CPE)range: < 6.4.0-150700.53.6.1
- (no CPE)range: < 6.4.0-150600.23.60.4
- (no CPE)range: < 6.4.0-150700.53.6.1
- (no CPE)range: < 6.4.0-31.1
- (no CPE)range: < 6.4.0-31.1
- (no CPE)range: < 6.4.0-150600.8.43.1
- (no CPE)range: < 6.4.0-150700.20.6.1
- (no CPE)range: < 6.4.0-15061.28.coco15sp6.1
- (no CPE)range: < 6.4.0-34.1
- (no CPE)range: < 6.4.0-34.1
- (no CPE)range: < 6.4.0-150600.10.44.1
- (no CPE)range: < 6.4.0-150700.7.8.1
- (no CPE)range: < 6.4.0-150600.23.60.4
- (no CPE)range: < 6.4.0-150700.53.6.1
- (no CPE)range: < 6.4.0-150600.8.43.1
- (no CPE)range: < 6.4.0-150700.20.6.1
- (no CPE)range: < 6.4.0-15061.28.coco15sp6.1
- (no CPE)range: < 6.4.0-150600.10.44.1
- (no CPE)range: < 6.4.0-150700.7.8.1
- (no CPE)range: < 6.4.0-150600.23.60.4
- (no CPE)range: < 6.4.0-150700.53.6.1
Patches
Vulnerability mechanics
References
4News mentions
0No linked articles in our index yet.