Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-43245

CVE-2026-43245: Linux Kernel NTFS Blocking Vulnerability

CVE-2026-43245 is a blocking operation flaw in the Linux kernel NTFS filesystem that affects the d_compare() function. This article covers the technical details, affected versions, impact, and mitigation strategies.

Published:

CVE-2026-43245 Overview

CVE-2026-43245 is a Linux kernel vulnerability in the NTFS filesystem implementation. The flaw stems from the ->d_compare() callback performing blocking memory allocations through __getname(). Dentry comparison operations run in atomic contexts and must not block, making this an incorrect API usage that can lead to scheduling violations under filesystem load.

The fix replaces __getname() calls in ntfs_d_compare() and ntfs_d_hash() with kmalloc(PATH_MAX, GFP_NOWAIT). Additional cleanup removes inappropriate use of names_cachep for non-pathname allocations, switching them to k[mz]alloc().

Critical Impact

Blocking allocations in ->d_compare() violate VFS atomic-context requirements and can cause kernel instability when accessing NTFS volumes.

Affected Products

  • Linux kernel NTFS filesystem driver
  • Distributions shipping affected kernel versions
  • Systems mounting NTFS volumes using the in-tree driver

Discovery Timeline

  • 2026-05-06 - CVE-2026-43245 published to NVD
  • 2026-05-06 - Last updated in NVD database

Technical Details for CVE-2026-43245

Vulnerability Analysis

The Linux Virtual File System (VFS) layer invokes ->d_compare() during dentry cache lookups. These callbacks execute under RCU read-side critical sections or with seqlocks held, prohibiting any operation that may sleep. The NTFS implementation called __getname(), which allocates from names_cachep using flags that permit blocking.

Under memory pressure, __getname() can sleep waiting for slab reclaim. Sleeping inside ->d_compare() produces scheduling-while-atomic conditions and can corrupt RCU state. The same anti-pattern existed in ntfs_d_hash(), which is also invoked from atomic paths during hash computation.

The kernel maintainers also identified broader misuse of names_cachep across the NTFS driver. Several call sites allocated PATH_MAX-sized buffers for data unrelated to pathnames, wasting memory and conflating allocation pools.

Root Cause

The root cause is improper API selection within atomic VFS callbacks. __getname() does not guarantee non-blocking behavior, and the NTFS code path assumed allocation success without considering the caller's execution context. This represents a kernel filesystem driver defect rather than a memory safety bug.

Attack Vector

The attack vector requires local filesystem activity against an NTFS volume. A user with permission to traverse NTFS-mounted directories can trigger dentry comparisons during path resolution. Under memory pressure, the blocking allocation path becomes reachable, producing kernel warnings or instability. The vulnerability does not provide remote exploitation primitives based on the available data.

The vulnerability mechanism is documented in the upstream commits. See the Kernel Git Commit Overview, secondary commit reference, and tertiary commit reference for the precise patch contents.

Detection Methods for CVE-2026-43245

Indicators of Compromise

  • Kernel log entries containing BUG: scheduling while atomic originating from ntfs_d_compare or ntfs_d_hash stack frames.
  • sleeping function called from invalid context warnings referencing NTFS dentry operations.
  • Kernel oops or soft lockup traces during heavy NTFS directory traversal under memory pressure.

Detection Strategies

  • Audit running kernel versions across the fleet against the patched stable kernel commits to identify unpatched hosts.
  • Parse dmesg and /var/log/kern.log for stack traces involving ntfs_d_compare, ntfs_d_hash, or __getname invoked from RCU contexts.
  • Inventory mounted filesystems to identify systems using the in-tree NTFS driver and prioritize them for patching.

Monitoring Recommendations

  • Forward kernel ring buffer events to a centralized logging or SIEM platform for trace pattern matching.
  • Alert on repeated scheduling while atomic warnings, which indicate active triggering of the defect.
  • Monitor system stability metrics on hosts with NTFS workloads, including unexpected reboots and watchdog timeouts.

How to Mitigate CVE-2026-43245

Immediate Actions Required

  • Apply vendor-provided kernel updates that include the upstream NTFS dentry operation fixes.
  • Schedule reboots on affected hosts to load the patched kernel image.
  • Restrict mounting of untrusted NTFS volumes by non-administrative users until patches are deployed.

Patch Information

The upstream fix replaces __getname() with kmalloc(PATH_MAX, GFP_NOWAIT) in ntfs_d_compare() and ntfs_d_hash(), and removes inappropriate names_cachep usage elsewhere in the NTFS driver. The relevant commits are 142c444a395f, ca2a04e84af7, and fb4b1f969ba0 in the stable kernel tree. Distribution kernels backporting these commits should be tracked through standard vendor advisories.

Workarounds

  • Avoid mounting NTFS volumes on affected kernels where feasible, using FAT32 or exFAT alternatives for removable media.
  • Reduce memory pressure on hosts that must access NTFS volumes to lower the probability of triggering blocking allocations.
  • Use the userspace ntfs-3g FUSE driver as an alternative path that does not invoke the in-tree dentry operations.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.