Skip to main content

Linux Kernel NTFS CVE-2026-72203

| EUVDEUVD-2026-58961 HIGH
2026-08-15 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-p3pr-3qq8-w67c
7.5
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
4.7 MEDIUM

Local filesystem write access required to generate dirty extent records; AC:H reflects the timing-sensitive race condition between concurrent writeback paths.

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
MEDIUM
qualitative
Red Hat
5.5 MEDIUM
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

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

Lifecycle Timeline

5
Analysis Generated
Aug 17, 2026 - 07:37 vuln.today
CVSS changed
Aug 17, 2026 - 06:22 NVD
7.5 (HIGH)
Patch available
Aug 15, 2026 - 07:20 EUVD
CVE Published
Aug 15, 2026 - 06:21 cve.org
HIGH 7.5
CVE Published
Aug 15, 2026 - 06:21 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

ntfs: skip extent mft records in writeback to prevent deadlock

This patch fixes the ABBA deadlock between extent_lock and extent mrec_lock triggered by xfstests generic/113, that occurs since the commit 6994acf33bae ("ntfs: use base mft_no when looking up base inode for extent record").

Path A (inode writeback): VFS writeback -> ntfs_write_inode() -> __ntfs_write_inode() -> mutex_lock(&ni->extent_lock) -> mutex_lock(&tni->mrec_lock)

Path B (MFT folio writeback): VFS writeback of $MFT dirty folios -> ntfs_mft_writepages() -> ntfs_write_mft_block() -> ntfs_may_write_mft_record() -> holds one extent mrec_lock from a previous iteration -> tries to acquire another base inode extent_lock

By removing all extent_lock and extent mrec_lock acquisition from the MFT folio writeback path, the ABBA lock ordering is eliminated:

Path A: __ntfs_write_inode(): extent_lock -> mrec_lock Path B (removed): ntfs_write_mft_block(): mrec_lock -> extent_lock

Path B is always redundant for extent records because:

  1. mark_mft_record_dirty(ext_ni) does NOT dirty the MFT folio.

It only sets NInoDirty(ext_ni) and marks the base VFS inode dirty via __mark_inode_dirty(I_DIRTY_DATASYNC), which triggers Path A. Therefore, normal extent modifications never create a situation where the MFT folio is dirty and Path B is not scheduled.

  1. The MFT folio only gets dirtied via ntfs_mft_mark_dirty() inside

ntfs_mft_record_alloc(). But all identified callers in attrib.c (ntfs_attr_add, ntfs_attr_record_move_away, ntfs_attr_make_non_resident, ntfs_attr_record_resize) follow through with mark_mft_record_dirty(), which triggers Path A to write the complete record.

  1. ntfs_evict_big_inode() calls ntfs_commit_inode() before freeing extent

inodes, ensuring all dirty extents are flushed via Path A before the base inode leaves the icache.

AnalysisAI

Deadlock in the Linux kernel NTFS driver allows local users with write access to an NTFS-mounted volume to render the system completely unresponsive by triggering an ABBA lock ordering race between concurrent VFS writeback paths. The vulnerability affects kernels since commit 6994acf33bae and manifests when inode writeback (acquiring extent_lock then mrec_lock) races with MFT folio writeback (holding mrec_lock while attempting extent_lock). No active exploitation has been confirmed - EPSS places this at the 10th percentile (0.20%) - reflecting the narrow real-world surface: production Linux systems rarely mount NTFS volumes. Patches are available in Linux 7.1.5 and 7.2-rc1.

Technical ContextAI

The Linux kernel's legacy NTFS driver (fs/ntfs/) manages Master File Table (MFT) records for NTFS-formatted volumes. MFT extent records are secondary metadata structures that overflow from a base inode when its attribute list grows large. The deadlock is a classic ABBA mutex ordering problem introduced by commit 6994acf33bae, which altered how the driver looks up base inodes from extent records. Path A (inode writeback via ntfs_write_inode/__ntfs_write_inode) acquires extent_lock first, then mrec_lock on the target extent. Path B (MFT folio writeback via ntfs_mft_writepages/ntfs_write_mft_block/ntfs_may_write_mft_record) holds an extent mrec_lock from a prior iteration and then attempts to acquire a base inode's extent_lock - the inverse order. When both paths execute concurrently, neither can proceed, causing a kernel deadlock. CWE data was not supplied by NVD; the root cause class is a locking discipline violation (analogous to CWE-667: Improper Locking). Affected commit ranges span from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 up to (not including) 76bc14c7097ff678b2b5dbfd4fa33b46897d87ce and f831ab09d521898bf1dd99bf5adfd630ea1428e3.

RemediationAI

Upgrade to Linux kernel 7.1.5 or 7.2-rc1, which contain the upstream fix that eliminates extent_lock and mrec_lock acquisition from the MFT folio writeback path (Path B), resolving the ABBA ordering. The fix commits are 76bc14c7097ff678b2b5dbfd4fa33b46897d87ce and f831ab09d521898bf1dd99bf5adfd630ea1428e3, available at https://git.kernel.org/stable/c/76bc14c7097ff678b2b5dbfd4fa33b46897d87ce. For systems that cannot be patched immediately, the most effective compensating control is to unmount any NTFS volumes managed by the legacy ntfs driver and remount them using the ntfs3 driver (mount -t ntfs3) if supported, as ntfs3 does not share the affected locking code. Alternatively, if NTFS access is not required, unload the ntfs kernel module (rmmod ntfs) and blacklist it in /etc/modprobe.d/ - this eliminates the attack surface entirely but prevents access to NTFS-formatted storage. Restricting write access to NTFS mounts reduces the likelihood of triggering the race condition but does not eliminate it, since VFS writeback is controlled by the kernel rather than individual processes.

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 Not-Affected

Share

CVE-2026-72203 vulnerability details – vuln.today

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