Vulnerability · Published Jul 25, 2026 · Assigned by Linux

CVE-2026-64431ntfs: avoid calling post_write_mst_fixup() for invalid index_block

High 7.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 6% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.8High
Exploit odds (30 days)0.2%top 94.2% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: ntfs: avoid calling post_write_mst_fixup() for invalid index_block ntfs_icx_ib_sync_write() calls post_write_mst_fixup() when ntfs_ib_write() returns an error, intending to restore the buffer after a failed write. However, ntfs_ib_write() returns an error immediately if pre_write_mst_fixup() validation fails. The caller, ntfs_icx_ib_sync_write(), interprets any error as a write failure requiring rollback. It does not differentiate between I/O errors and validation failures, and calls post_write_mst_fixup() anyway. Since post_write_mst_fixup() assumes that the index_block contents is correct, it doesn't perform the boundary checks, which results in out-of-bounds memory access. An attacker can craft a malicious NTFS image with: - large index_block.usa_ofs offset, pointing outside the ntfs_record - index_block.usa_count = 0, causing integer underflow - or index_block.usa_count larger than actual number of sectors in the ntfs_record, causing out-of-bounds access KASAN reports describing the memory corruption: ================================================================== BUG: KASAN: slab-out-of-bounds in post_write_mst_fixup+0x19c/0x1d0 Read of size 2 at addr ffff8881586c9018 by task p/9428 Call Trace: <TASK> dump_stack_lvl+0x100/0x190 print_report+0x139/0x4ad ? post_write_mst_fixup+0x19c/0x1d0 ? __virt_addr_valid+0x262/0x500 ? post_write_mst_fixup+0x19c/0x1d0 kasan_report+0xe4/0x1d0 ? post_write_mst_fixup+0x19c/0x1d0 post_write_mst_fixup+0x19c/0x1d0 ntfs_icx_ib_sync_write+0x179/0x220 ntfs_inode_sync_filename+0x83d/0x1080 __ntfs_write_inode+0x1049/0x1480 ntfs_file_fsync+0x131/0x9b0 ================================================================== BUG: KASAN: slab-out-of-bounds in post_write_mst_fixup+0x1aa/0x1d0 Write of size 2 at addr ffff8881586c91fe by task p/9428 Call Trace: <TASK> dump_stack_lvl+0x100/0x190 print_report+0x139/0x4ad ? post_write_mst_fixup+0x1aa/0x1d0 ? __virt_addr_valid+0x262/0x500 ? post_write_mst_fixup+0x1aa/0x1d0 kasan_report+0xe4/0x1d0 ? post_write_mst_fixup+0x1aa/0x1d0 post_write_mst_fixup+0x1aa/0x1d0 ntfs_icx_ib_sync_write+0x179/0x220 ntfs_inode_sync_filename+0x83d/0x1080 __ntfs_write_inode+0x1049/0x1480 ntfs_file_fsync+0x131/0x9b0 ================================================================== Let's move the post_write_mst_fixup() call to ntfs_ib_write(). The ntfs_ib_write() function calls pre_write_mst_fixup() at the beginning. If the index_block contents is invalid, pre_write_mst_fixup() fails and ntfs_ib_write() returns early without calling post_write_mst_fixup() on bad index_block.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:14linux7.1.4-1DEBIAN-CVE-2026-64431
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-aws-6.17no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2026-64431
Ubuntu:24.04:LTSlinux-riscv-6.17no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2026-64431
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2026-64431

Affected products (as reported)

VendorProductVersions
Linux Linux 0a8ac0c1fa0b99a5b29002bc7f232ed7eafddef0 – before e2018628301a6d9f54e34b0cb417f1688c66df1d0a8ac0c1fa0b99a5b29002bc7f232ed7eafddef0 – before 5b6eedd7cc2936f9238e852b553a1b326105bde8
Linux Linux 7.1

References