data built 2026-10-19T13:16:53Z

Look up another CVE · open CVE-2026-89614 in the interactive tracker

CVE-2026-89614

ntfs: bound the free-cluster bitmap scan to the volume

9.8 EPSS 0.6% AV:N

Published 2026-09-11 (37 days ago) by the Linux kernel CNA. Subsystem fs/ntfs. Debian urgency: unimportant.

What to do, per Debian release

Debian's own status for CVE-2026-89614 in every release this site tracks, and what each one means in practice. Every status below is the one the Debian Security Team publishes for this CVE. source

ReleaseStatus VersionWhat this means
Debian 12bookwormnot affected6.1.190-1Nothing to do. bookworm never shipped the vulnerable code.
Debian 13trixienot affected6.12.113-1Nothing to do. trixie never shipped the vulnerable code.
Debian 14forkyfixed7.2.6-1Update the kernel and reboot. Fixed in 7.2.6-1. A running kernel keeps the old code until the machine restarts.
Debian unstablesidfixed7.2.6-1Update the kernel and reboot. Fixed in 7.2.6-1. A running kernel keeps the old code until the machine restarts.

The vulnerability

What the bug is

vol->lcn_empty_bits_per_page is sized from vol->nr_clusters at mount, but ntfs_cluster_alloc() bounds its scan of that array by the size of $Bitmap. Those are independent on-disk quantities and the mount-time check only rejects a $Bitmap that is too small, so an image whose $Bitmap covers more clusters than the volume has lets the scan index past the array. A run whose LCN lies in that gap takes the allocator straight there, since the caller passes the file's own last LCN as its locality hint. KASAN reports a slab out-of-bounds read when a file on such a volume is extended. Clamp the scan to what that array covers, mirroring the max_index calculation the mount-time scan already uses, and reject a decoded LCN at or beyond nr_clusters in the mapping pairs decoder. Conforming volumes are unaffected.

Where it lives

The fix touches these files. If the subsystem is one you do not use, the practical exposure is lower, though the package is still the vulnerable one.

fs/ntfs/lcnalloc.c
fs/ntfs/runlist.c

What this is
NTFS FILESYSTEMMAINTAINERS section matched on fs/ntfs/ · linux-fsdevel@vger.kernel.org · Maintained
Kernel module
ntfs

Check it on the machine

grep -wE 'CONFIG_NTFS_FS|CONFIG_NTFS_RW' /boot/config-$(uname -r)

Reads the booted kernel's own configuration, on the machine and nowhere else. =y is built in, =m is a module, and an is not set line means the code is not there.

lsmod | grep -w ntfs

Prints a line if that module is loaded right now, and nothing if it is not. One that is not loaded can still be loaded later by anything that needs it.

Show whether Debian builds this, per release

Debian does not build this code in 1 release. It does build it in 2 releases, so the answer depends on which release the machine runs. The build rule could not be established for 1 release, so nothing is claimed about those.

  • bookwormn
  • trixie?
  • forky, sidm
n
not enabled on any flavour - this release does not build the code
?
not established - no Makefile entry for the affected file
m
a loadable module on every flavour - check lsmod, can be blacklisted

Where a release above reads "not established", no build rule for the affected file was found in that release's kernel tree. That is a gap in this lookup, not a finding that the code is absent.

Build switches
CONFIG_NTFS_FS, CONFIG_NTFS_RW
Reads as
all on means the file is compiled; any one off means it is not.

From the configuration Debian publishes for every kernel flavour it builds. It covers only the architectures Debian ships a linux-config package for, and nothing about a kernel you built yourself. Debian's own status above stays authoritative about the source package.MAINTAINERS kbuild Makefiles Debian linux-config packages

Signals

Published
2026-09-11 (37 days ago)source
CVSS
9.8 critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hsource recompute it
Attack vector
network (AV:N)source
EPSS
0.55%, higher than 45.0% of all CVEssource
CISA KEV
not listedthe KEV catalogue
Debian urgency
unimportantsource
Subsystem
fs/ntfs

Upstream fixes

The versions the CNA records as introducing and fixing this, and the commit for each. source

IntroducedFixed inCommit
7.17.2.4dc15a9f5307d
7.17.319cac7902a8a

Why the CNA scored it this way

Quoted from the kernel CNA's own scoring file, word for word. A highlighted metric carries the most severe value CVSS v3.1 defines for it, which is what pushes the score up. source

AV:NAttack vector, network
fs/ntfs registers ntfs_export_ops, so nfsd/ksmbd VFS writes on an exported NTFS volume reach ntfs_file_write_iter->iomap->ntfs_attr_expand->ntfs_cluster_alloc, and reads reach ntfs_mapping_pairs_decompress, without local shell access.
AC:LAttack complexity, low
A crafted image whose $Bitmap covers more clusters than nr_clusters, plus a file run whose LCN sits in that gap, deterministically drives the allocator to index past lcn_empty_bits_per_page and the decoder to accept out-of-volume LCNs, with no race or victim-specific layout.
PR:NPrivileges required, none
Triggering needs only permission to cause server-side parse or extend of mounted NTFS metadata (guest/anonymous SMB, a permissive NFS export, or an unprivileged local open/write on an already-mounted volume), not init-namespace root or CAP_SYS_ADMIN at trigger time.
UI:NUser interaction, none
After the crafted volume is mounted and optionally exported, ordinary remote or local write/truncate/fallocate, and reads that decompress mapping pairs, trigger the bug; no extra victim mount dialog, USB insertion, or confirmation is required during the attack.
S:UScope, unchanged
Slab out-of-bounds access to 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:HConfidentiality impact, high
ntfs_cluster_alloc performs a KASAN-confirmed slab out-of-bounds read of lcn_empty_bits_per_page at an attacker-influenced page index, and decoded LCNs past nr_clusters make iomap reads disclose data beyond the NTFS volume, a kernel heap/OOB-read disclosure primitive.
I:HIntegrity impact, high
With zone_end set from the poisoned LCN, the bitmap scan calls ntfs_set_lcn_empty_bits() on out-of-range indices (heap OOB write of empty-bit counts) and iomap can write past the volume using those LCNs, a kernel memory-corruption primitive consistent with privilege escalation.
A:HAvailability impact, high
KASAN reports a slab out-of-bounds access when a file on such a volume is extended; indexing past the kvmalloc array can oops, and the OOB write of lcn_empty_bits_per_page can panic or hang the host, so even failed exploitation denies service.