Skip to main content

Linux Kernel CVE-2026-64164

| EUVDEUVD-2026-45849 MEDIUM
NULL Pointer Dereference (CWE-476)
2026-07-19 Linux GHSA-w7p5-2w2w-6hjm
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
4.7 MEDIUM

AC:H reflects the required non-default condition of kernel tracing being enabled; PR:L since a local user triggers the crash once an admin has set up tracing.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
4.4 MEDIUM
AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 13, 2026 - 16:11 vuln.today
CVSS changed
Aug 13, 2026 - 15:37 NVD
5.5 (MEDIUM)
Patch available
Jul 19, 2026 - 17:03 EUVD
CVE Published
Jul 19, 2026 - 15:40 nvd
MEDIUM 5.5
CVE Published
Jul 19, 2026 - 15:40 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

In the Linux kernel, the following vulnerability has been resolved:

btrfs: tracepoints: fix sleep while in atomic context in btrfs_sync_file()

The trace event btrfs_sync_file() is called in an atomic context (all trace events are) and its call to dput(), which is needed due to the call to dget_parent(), can sleep, triggering a kernel splat.

This can be reproduced by enabling the trace event and running btrfs/056 from fstests for example. The splat shown in dmesg is the following:

[53.919] BUG: sleeping function called from invalid context at fs/dcache.c:970 [53.947] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 32773, name: xfs_io [53.988] preempt_count: 2, expected: 0 [53.967] RCU nest depth: 0, expected: 0 [53.943] Preemption disabled at: [53.944] [<0000000000000000>] 0x0 [54.078] CPU: 0 UID: 0 PID: 32773 Comm: xfs_io Tainted: G W 7.1.0-rc1-btrfs-next-232+ #1 PREEMPT(full) [54.070] Tainted: [W]=WARN [54.071] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org 04/01/2014 [54.072] Call Trace: [54.074] <TASK> [54.076] dump_stack_lvl+0x56/0x80 [54.079] __might_resched.cold+0xd6/0x10f [54.072] dput.part.0+0x24/0x110 [54.078] trace_event_raw_event_btrfs_sync_file+0x75/0x140 [btrfs] [54.089] btrfs_sync_file+0x1ed/0x530 [btrfs] [54.087] ? __handle_mm_fault+0x8ae/0xed0 [54.089] btrfs_do_write_iter+0x172/0x210 [btrfs] [54.091] vfs_write+0x21f/0x450 [54.094] __x64_sys_pwrite64+0x8d/0xc0 [54.096] ? do_user_addr_fault+0x20c/0x670 [54.099] do_syscall_64+0x60/0xf20 [54.092] ? clear_bhb_loop+0x60/0xb0 [54.094] entry_SYSCALL_64_after_hwframe+0x76/0x7e

So stop using dget_parent() and dput() and access the parent dentry directly as dentry->d_parent. This is also what ext4 is doing in its equivalent trace event ext4_sync_file_enter().

AnalysisAI

Sleep-in-atomic-context denial of service in the Linux kernel btrfs filesystem driver allows a local low-privileged user to crash the system by triggering file sync operations while kernel tracing is active. The btrfs_sync_file trace event erroneously calls dput() - a function that may sleep - within an atomic context where sleeping is forbidden, producing a kernel BUG splat and potential panic. No active exploitation has been identified, EPSS is 0.16% (6th percentile), and the vulnerability requires a non-default kernel tracing configuration to be exploitable, substantially limiting real-world exposure.

Technical ContextAI

The defect resides in the btrfs filesystem driver's btrfs_sync_file() tracepoint handler in the Linux kernel (CPE: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*). Kernel trace events execute with preemption disabled - an atomic context - meaning any operation that can block or sleep is strictly prohibited. The trace event implementation incorrectly called dget_parent() to obtain a reference to the parent dentry, then dput() to release it; dput() acquires locks internally and may sleep (specifically at fs/dcache.c:970), violating the atomic-context contract. The resulting kernel BUG splat is logged with 'sleeping function called from invalid context' and a preempt_count of 2 indicating nested preemption disabling. CWE-476 (NULL Pointer Dereference) is tagged but appears to be a misclassification - the root cause is more precisely an improper locking or context violation (closer to CWE-667), and the kernel splat evidence in the description does not involve a null pointer. The upstream fix replaces the dget_parent()/dput() pattern with direct access to dentry->d_parent, consistent with how ext4 handles its equivalent ext4_sync_file_enter() trace event.

RemediationAI

The primary fix is to upgrade to a patched Linux kernel: 6.6.142 or later for 6.6.x stable, 6.12.92 or later for 6.12.x stable, 6.18.34 or later for 6.18.x stable, or 7.0.11 / 7.1 for those respective branches. Ubuntu users should apply the packages addressed in USN-8574-1 (https://ubuntu.com/security/notices/USN-8574-1) and USN-8575-1 (https://ubuntu.com/security/notices/USN-8575-1). Upstream fix commits are available at https://git.kernel.org/stable/c/d78b0a80eac36879ef5478707135c446920e134b and the related commits listed in the references. For systems that cannot be patched immediately, the most targeted compensating control is to disable the btrfs_sync_file kernel tracepoint: run 'echo 0 > /sys/kernel/debug/tracing/events/btrfs/btrfs_sync_file/enable' and terminate any tracing sessions that consume this event. This carries no functional impact on production btrfs workloads since tracing is diagnostic-only, but administrators must re-apply this after reboots until the kernel is updated.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-64164 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy