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

ntfs: take invalidate_lock in ntfs_filemap_page_mkwrite()

ntfs_filemap_page_mkwrite() calls iomap_page_mkwrite() without holding
mapping->invalidate_lock, so a concurrent truncate or fallocate can be
in the middle of invalidating pagecache and rewriting the runlist while
the write fault maps blocks and dirties the folio. This races with
ntfs_attr_fallocate(), which merges clusters into the in-memory
runlist, drops the runlist lock, and only afterwards zeroes the newly
allocated clusters on disk; and with the punch-hole/insert/collapse
paths that free clusters after truncating the cache.

Per Documentation/filesystems/locking.rst, ->page_mkwrite() must ensure
there are no truncate/invalidate races, "usually mapping->invalidate_lock
is suitable for proper serialization". xfs takes its mmaplock (= the
invalidate_lock rwsem) shared in exactly this path.

Take invalidate_lock shared around iomap_page_mkwrite(). The read-only
fault path is already covered because filemap_fault() itself grabs
invalidate_lock shared on instantiation/read paths; only page_mkwrite
was bypassing it in this driver.
Published: 2026-11-02
Score: n/a
EPSS: n/a
KEV: No
Impact: Potential data corruption and denial of service within NTFS file systems on Linux kernels
Action: Immediate Patch
AI Analysis

Impact

A race condition in the Linux kernel’s NTFS driver allows concurrent write operations and truncate/fallocate calls to manipulate the page cache without proper serialization. This can result in corrupted disk data or kernel crashes when the filesystem mapping is invalidated while new data is being written. The flaw stems from ntfs_filemap_page_mkwrite() invoking iomap_page_mkwrite() without holding mapping->invalidate_lock, violating the locking contract described in Documentation/filesystems/locking.rst. As a consequence, the runlist and page cache can be left in an inconsistent state, compromising data integrity. This vulnerability is a typical concurrency issue that can lead to subtle, hard‑to‑detect corruption. No evidence exists that the flaw can be triggered remotely; it is believed to require local access to initiate overlapping write and truncate operations. Affected systems are Linux kernel builds that include the NTFS driver without the applied patch. The specific affected versions are not listed in the input, but all kernels prior to the fix commit are vulnerable. Users running Linux distributions that ship a kernel with the unpatched NTFS module, especially when mounting NTFS partitions for read/write access, are exposed. Risk and exploitability are not quantified in the CVSS or EPSS metrics, and the flaw is not listed in CISA’s KEV catalog. The BECAUSE of race condition, any local process with permission to perform write or truncate operations on a mounted NTFS partition can trigger corruption. The lack of an explicit exploit count or public proof of concept means the likelihood of exploitation is uncertain, but the potential impact on system reliability and data confidentiality is high if the race occurs. The CVE is best mitigated by applying the appropriate kernel update.

Affected Systems

The vulnerability affects Linux systems that run an unpatched Linux kernel with the NTFS file system driver. The list of affected products is limited to the Linux kernel itself; specific vendor or distribution names are not provided, but any distribution shipping a kernel prior to the patched commit is potentially susceptible. Users who mount NTFS partitions for regular read/write operations are at risk.

Risk and Exploitability

The absence of CVSS, EPSS, and KEV data suggests that the flaw has not yet been widely quantified or exploited in the wild. Nonetheless, the race condition represents a serious risk because it can corrupt data tables or crash the kernel, leading to denial of service or unauthorized data modification. Attackers with local privileges who can issue coordinated truncate/fallocate and page write operations could trigger the flaw; remote exploitation is unlikely without local access.

Generated by OpenCVE AI on November 2, 2026 at 17:51 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the patch for ntfs_filemap_page_mkwrite() and reboot to ensure the new kernel is active.
  • Limit write access to NTFS partitions by employing strict file permissions or disabling write support for critical partitions until a patched kernel is in use.
  • After applying the patch, run a filesystem check on NTFS volumes (e.g., ntfsfix) to detect and repair any inconsistencies that may have arisen while the vulnerability was present.

Generated by OpenCVE AI on November 2, 2026 at 17:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 02 Nov 2026 19:15:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Mon, 02 Nov 2026 18:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Mon, 02 Nov 2026 16:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ntfs: take invalidate_lock in ntfs_filemap_page_mkwrite() ntfs_filemap_page_mkwrite() calls iomap_page_mkwrite() without holding mapping->invalidate_lock, so a concurrent truncate or fallocate can be in the middle of invalidating pagecache and rewriting the runlist while the write fault maps blocks and dirties the folio. This races with ntfs_attr_fallocate(), which merges clusters into the in-memory runlist, drops the runlist lock, and only afterwards zeroes the newly allocated clusters on disk; and with the punch-hole/insert/collapse paths that free clusters after truncating the cache. Per Documentation/filesystems/locking.rst, ->page_mkwrite() must ensure there are no truncate/invalidate races, "usually mapping->invalidate_lock is suitable for proper serialization". xfs takes its mmaplock (= the invalidate_lock rwsem) shared in exactly this path. Take invalidate_lock shared around iomap_page_mkwrite(). The read-only fault path is already covered because filemap_fault() itself grabs invalidate_lock shared on instantiation/read paths; only page_mkwrite was bypassing it in this driver.
Title ntfs: take invalidate_lock in ntfs_filemap_page_mkwrite()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-11-02T16:06:44.163Z

Reserved: 2026-09-25T10:25:14.403Z

Link: CVE-2026-99241

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-02T16:17:49.907

Modified: 2026-11-02T16:17:49.907

Link: CVE-2026-99241

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-02T19:00:06Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')