CVE-2026-89610 PUBLISHED

ntfs: verify run length exceeding volume boundary

Assigner: Linux
Reserved: 11.09.2026 Published: 11.09.2026 Updated: 13.09.2026

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

ntfs: verify run length exceeding volume boundary

The mapping pairs decoder validates that the starting LCN is within the volume but does not check if the run extends beyond the volume boundary.

A malformed NTFS image with a crafted mapping pairs array could cause the kernel to access memory beyond the volume boundary, potentially leading to memory corruption and privilege escalation.

Add validation to ensure lcn + length stays within nr_clusters.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 9.8

AV:N - fs/ntfs registers ntfs_export_ops, so nfsd/ksmbd VFS reads and writes on an exported NTFS volume reach ntfs_map_runlist()->ntfs_mapping_pairs_decompress() and later use the over-long run via iomap and bitmap updates without local shell access. AC:L - The attacker fully controls on-disk mapping pairs and can set a start LCN below nr_clusters with a length that extends past the volume or overflows s64; decompression and subsequent use of that run are deterministic with no race or victim-specific layout. PR:N - Triggering the decoder needs only permission to cause server-side parsing of mounted NTFS metadata (guest/anonymous SMB or a permissive NFS export, or an unprivileged open/read on an already-mounted volume), not init-namespace root or CAP_SYS_ADMIN at trigger time. UI:N - After the crafted volume is mounted and exported, ordinary remote or local read/write/unlink operations decompress the poisoned mapping pairs and exercise the over-long run; no extra victim mount dialog, USB insertion, or confirmation is required during the attack. S:U - Heap corruption of vol->lcn_empty_bits_per_page and misdirected block I/O remain in the host kernel/OS security domain and do not cross a VM, container, or IOMMU boundary to another authority. C:H - Over-long runs make ntfs_rl_vcn_to_lcn() return LCNs past nr_clusters, so iomap reads can disclose out-of-volume data, and ntfs_set_lcn_empty_bits() indexes lcn_empty_bits_per_page (sized only from nr_clusters), enabling kernel heap disclosure. I:H - The same run drives iomap writes past the volume and ntfs_bitmap_set_bits_in_run()/ntfs_set_lcn_empty_bits() past the allocated lcn_empty_bits_per_page array, a kernel heap OOB write and misdirected disk-write primitive consistent with the fix's memory-corruption and privilege-escalation impact. A:H - Out-of-bounds bitmap/heap access, I/O past the block device, and huge-length bitmap walks can oops, panic, or hang the kernel, so even failed exploitation denies service to the host or exported filesystem.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 6e844d4b82434a781b80d02145fd1b17cf90e3c3 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to fea9e4488f384c0ef1c0e3d96b565127c1b98447 (excl.)
  • affected from 0 to 7.2.4 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • unaffected from 7.2.4 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References