CVE-2025-38034: btrfs: correct the order of prelim_ref arguments in btrfs__prelim_ref
In the Linux kernel, the following vulnerability has been resolved:
btrfs: correct the order of prelimref arguments in btrfsprelimref
btrfsprelimref() calls the old and new reference variables in the incorrect order. This causes a NULL pointer dereference because oldref is passed as NULL to tracebtrfsprelimrefinsert().
Note, tracebtrfsprelimrefinsert() is being called with newref as oldref (and oldref as NULL) on purpose in order to print out the values of newref.
To reproduce: echo 1 > /sys/kernel/debug/tracing/events/btrfs/btrfsprelimrefinsert/enable
Perform some writeback operations.
Backtrace: BUG: kernel NULL pointer dereference, address: 0000000000000018 #PF: supervisor read access in kernel mode #PF: errorcode(0x0000) - not-present page PGD 115949067 P4D 115949067 PUD 11594a067 PMD 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 1188 Comm: fsstress Not tainted 6.15.0-rc2-tester+ #47 PREEMPT(voluntary) 7ca2cef72d5e9c600f0c7718adb6462de8149622 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-2-gc13ff2cd-prebuilt.qemu.org 04/01/2014 RIP: 0010:traceeventraweventbtrfsprelimref+0x72/0x130 Code: e8 43 81 9f ff 48 85 c0 74 78 4d 85 e4 0f 84 8f 00 00 00 49 8b 94 24 c0 06 00 00 48 8b 0a 48 89 48 08 48 8b 52 08 48 89 50 10 <49> 8b 55 18 48 89 50 18 49 8b 55 20 48 89 50 20 41 0f b6 55 28 88 RSP: 0018:ffffce44820077a0 EFLAGS: 00010286 RAX: ffff8c6b403f9014 RBX: ffff8c6b55825730 RCX: 304994edf9cf506b RDX: d8b11eb7f0fdb699 RSI: ffff8c6b403f9010 RDI: ffff8c6b403f9010 RBP: 0000000000000001 R08: 0000000000000001 R09: 0000000000000010 R10: 00000000ffffffff R11: 0000000000000000 R12: ffff8c6b4e8fb000 R13: 0000000000000000 R14: ffffce44820077a8 R15: ffff8c6b4abd1540 FS: 00007f4dc6813740(0000) GS:ffff8c6c1d378000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000018 CR3: 000000010eb42000 CR4: 0000000000750ef0 PKRU: 55555554 Call Trace: <TASK> prelimrefinsert+0x1c1/0x270 findparentnodes+0x12a6/0x1ee0 ? entrytextend+0x101f06/0x101f09 ? srsoaliasreturnthunk+0x5/0xfbef5 ? srsoaliasreturnthunk+0x5/0xfbef5 ? srsoaliasreturnthunk+0x5/0xfbef5 ? srsoaliasreturnthunk+0x5/0xfbef5 btrfsisdataextentshared+0x167/0x640 ? fiemapprocesshole+0xd0/0x2c0 extentfiemap+0xa5c/0xbc0 ? entrytextend+0x101f05/0x101f09 btrfsfiemap+0x7e/0xd0 dovfsioctl+0x425/0x9d0 x64sysioctl+0x75/0xc0
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1
Event History
Frequently Asked Questions
What is the severity of CVE-2025-38034?
CVE-2025-38034 has a medium severity due to its potential for causing a NULL pointer dereference.
How do I fix CVE-2025-38034?
To fix CVE-2025-38034, update your Linux kernel to a version that includes the patch addressing this vulnerability.
What versions of the Linux kernel are affected by CVE-2025-38034?
CVE-2025-38034 affects various versions of the Linux kernel from 5.4 to 6.15-rc5.
What is the impact of CVE-2025-38034 on systems?
The impact of CVE-2025-38034 may lead to system instability or crashes due to the NULL pointer dereference.
Is there any workaround for CVE-2025-38034?
Currently, the recommended action for CVE-2025-38034 is to apply the patch rather than rely on workarounds.