Look up another CVE · open CVE-2026-89610 in the interactive tracker
CVE-2026-89610
ntfs: verify run length exceeding volume boundary
Published 2026-09-11 (37 days ago) by the Linux kernel CNA. Subsystem fs/ntfs. Debian urgency: not yet assigned.
What to do, per Debian release
Debian's own status for CVE-2026-89610 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
| Release | Status | Version | What this means |
|---|---|---|---|
| Debian 12bookworm | vulnerable | 6.1.190-1 | No fix published anywhere yet, neither in Debian nor upstream for the series bookworm tracks. Watch the Debian tracker page for this CVE. Advisories for bookworm have historically landed a median of 23 days after publication. |
| Debian 13trixie | vulnerable | 6.12.113-1 | No fix published anywhere yet, neither in Debian nor upstream for the series trixie tracks. Watch the Debian tracker page for this CVE. Advisories for trixie have historically landed a median of 11 days after publication. |
| Debian 14forky | fixed | 7.2.6-1 | Update the kernel and reboot. Fixed in 7.2.6-1. A running kernel keeps the old code until the machine restarts. |
| Debian unstablesid | fixed | 7.2.6-1 | Update 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
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.
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/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 -w CONFIG_NTFS_FS /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 ntfsPrints 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 switch
- CONFIG_NTFS_FS
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
- not yet assignedsource
- Subsystem
- fs/ntfs
Upstream fixes
The versions the CNA records as introducing and fixing this, and the commit for each. source
| Introduced | Fixed in | Commit |
|---|---|---|
| 0 | 7.2.4 | 6e844d4b8243 |
| 0 | 7.3 | fea9e4488f38 |
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 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:LAttack complexity, low
- 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:NPrivileges required, none
- 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:NUser interaction, none
- 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:UScope, unchanged
- 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:HConfidentiality impact, high
- 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:HIntegrity impact, high
- 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:HAvailability impact, high
- 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.