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

ntfs: bound the attribute-list entry in ntfs_read_inode_mount()

The $MFT attribute-list walk in ntfs_read_inode_mount() validates each
entry only with "(u8 *)al_entry + 6 > al_end" and
"(u8 *)al_entry + le16_to_cpu(al_entry->length) > al_end", but then reads
al_entry->lowest_vcn (an __le64 at offset 8) and al_entry->mft_reference
(offset 16) -- fields beyond the 6 bytes proven in range. al_entry->length
is attacker-controlled and only required non-zero, so a short entry (e.g.
length 8) placed at the tail passes both checks while the lowest_vcn /
mft_reference reads fall past al_end.

al_end is ni->attr_list + attr_list_size (the on-disk size); the buffer is
kvzalloc(round_up(attr_list_size, SECTOR_SIZE)), so the sector rounding
usually absorbs the over-read -- but when attr_list_size is a multiple of
SECTOR_SIZE there is no slack and a crafted $MFT attribute list produces an
out-of-bounds read at mount time.

Validate the entry with ntfs_attr_list_entry_is_valid() (added in patch
1/3) before dereferencing it, matching the bound the other attribute-list
walks now use. The validator already requires the length to cover the fixed
header, which makes the separate "!al_entry->length" check redundant, so
drop it too.
Published: 2026-09-04
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Information disclosure
Action: Patch
AI Analysis

Impact

The Linux kernel implements NTFS support. During the mounting of an NTFS filesystem, the function ntfs_read_inode_mount() traverses the $MFT attribute list. A maliciously crafted attribute that satisfies a basic length check but has a length field smaller than the header can cause the kernel to read memory past the end of the allocated buffer. This out‑of‑bounds read occurs before any user‑space data is processed and can leak kernel or system information or crash the kernel.

Affected Systems

All Linux kernel versions that include the unpatched ntfs_read_inode_mount() code are affected. The flaw is present in the upstream kernel prior to the patch that validates attribute‑list entries. Systems that mount NTFS partitions from untrusted media are at risk. The issue does not appear in custom kernel builds that applied the patch.

Risk and Exploitability

The flaw presents a local privilege escalation vector that requires root privileges to mount the partition. The EPSS score is unavailable and the vulnerability is not listed in the CISA KEV catalog. The CVSS is not supplied, but an out‑of‑bounds read that can expose arbitrary memory or cause a crash is considered high severity. An attacker with local or remote access to the machine can craft a malicious NTFS volume, then request the kernel to mount it, resulting in information disclosure or denial of service.

Generated by OpenCVE AI on September 4, 2026 at 19:58 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version containing the ntfs_attr_list_entry_is_valid() patch.
  • If an official kernel update is not yet available, manually apply the upstream patch to the kernel source before compiling and installing it.
  • Ensure that NTFS volumes are only mounted from trusted media; consider disabling NTFS support on systems that do not require it as an additional protection.

Generated by OpenCVE AI on September 4, 2026 at 19:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 04 Sep 2026 20:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-20

Fri, 04 Sep 2026 17:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ntfs: bound the attribute-list entry in ntfs_read_inode_mount() The $MFT attribute-list walk in ntfs_read_inode_mount() validates each entry only with "(u8 *)al_entry + 6 > al_end" and "(u8 *)al_entry + le16_to_cpu(al_entry->length) > al_end", but then reads al_entry->lowest_vcn (an __le64 at offset 8) and al_entry->mft_reference (offset 16) -- fields beyond the 6 bytes proven in range. al_entry->length is attacker-controlled and only required non-zero, so a short entry (e.g. length 8) placed at the tail passes both checks while the lowest_vcn / mft_reference reads fall past al_end. al_end is ni->attr_list + attr_list_size (the on-disk size); the buffer is kvzalloc(round_up(attr_list_size, SECTOR_SIZE)), so the sector rounding usually absorbs the over-read -- but when attr_list_size is a multiple of SECTOR_SIZE there is no slack and a crafted $MFT attribute list produces an out-of-bounds read at mount time. Validate the entry with ntfs_attr_list_entry_is_valid() (added in patch 1/3) before dereferencing it, matching the bound the other attribute-list walks now use. The validator already requires the length to cover the fixed header, which makes the separate "!al_entry->length" check redundant, so drop it too.
Title ntfs: bound the attribute-list entry in ntfs_read_inode_mount()
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 Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-04T16:48:27.068Z

Reserved: 2026-08-26T14:34:25.798Z

Link: CVE-2026-80869

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-04T17:16:58.750

Modified: 2026-09-04T17:16:58.750

Link: CVE-2026-80869

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-05T00:30:18Z

Weaknesses
  • CWE-119

    Improper Restriction of Operations within the Bounds of a Memory Buffer

  • CWE-20

    Improper Input Validation