| Reporter | Title | Published | Views | Family All 9 |
|---|---|---|---|---|
| CVE-2026-64431 | 25 Jul 202608:51 | – | cve | |
| CVE-2026-64431 ntfs: avoid calling post_write_mst_fixup() for invalid index_block | 25 Jul 202608:51 | – | cvelist | |
| CVE-2026-64431 | 25 Jul 202608:51 | – | debiancve | |
| EUVD-2026-48775 | 25 Jul 202608:51 | – | euvd | |
| CVE-2026-64431 | 25 Jul 202610:17 | – | nvd | |
| CVE-2026-64431 ntfs: avoid calling post_write_mst_fixup() for invalid index_block | 25 Jul 202608:51 | – | osv | |
| DEBIAN-CVE-2026-64431 | 25 Jul 202610:17 | – | osv | |
| PT-2026-64652 | 25 Jul 202600:00 | – | ptsecurity | |
| SUSE CVE-2026-64431 | 25 Jul 202615:59 | – | susecve |
| Source | Link |
|---|---|
| security-tracker | www.security-tracker.debian.org/tracker/CVE-2026-64431 |
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(329973);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/07/25");
script_cve_id("CVE-2026-64431");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2026-64431");
script_set_attribute(attribute:"synopsis", value:
"The Linux/Unix host has one or more packages installed with a vulnerability that the vendor indicates will not be
patched.");
script_set_attribute(attribute:"description", value:
"The Linux/Unix host has one or more packages installed that are impacted by a vulnerability without a vendor supplied
patch available.
- 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. (CVE-2026-64431)
Note that Nessus relies on the presence of the package as reported by the vendor.");
script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2026-64431");
script_set_attribute(attribute:"solution", value:
"There is no known solution at this time.");
script_set_attribute(attribute:"agent", value:"unix");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:U/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-64431");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_set_attribute(attribute:"vendor_unpatched", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2026/07/25");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/07/25");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:14.0");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:linux");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Misc.");
script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info2.nasl", "set_linux_os_id.nasl");
script_require_keys("Host/cpu", "Host/local_checks_enabled", "global_settings/vendor_unpatched", "Host/OS/identifier");
script_require_ports("Host/OS/Debian Linux-14");
exit(0);
}
if (!get_kb_item("global_settings/vendor_unpatched")) exit(0, "Unpatched Vulnerabilities Detection not active.");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (empty_or_null(get_one_kb_item("Host/Debian/dpkg-l"))) audit(AUDIT_PACKAGE_LIST_MISSING);
include('linux_unpatched.inc');
var distro_constraints_array = {
"Debian Linux-14": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "14",
"pkgs": [
{"reference": "bpftool"},
{"reference": "hyperv-daemons"},
{"reference": "intel-sdsi"},
{"reference": "libcpupower-dev"},
{"reference": "libcpupower1"},
{"reference": "linux-base-7.1.3+deb14-alpha-generic"},
{"reference": "linux-base-7.1.3+deb14-alpha-smp"},
{"reference": "linux-base-7.1.3+deb14-amd64"},
{"reference": "linux-base-7.1.3+deb14-arm64"},
{"reference": "linux-base-7.1.3+deb14-arm64-16k"},
{"reference": "linux-base-7.1.3+deb14-armmp"},
{"reference": "linux-base-7.1.3+deb14-armmp-lpae"},
{"reference": "linux-base-7.1.3+deb14-cloud-amd64"},
{"reference": "linux-base-7.1.3+deb14-cloud-arm64"},
{"reference": "linux-base-7.1.3+deb14-loong64"},
{"reference": "linux-base-7.1.3+deb14-m68k"},
{"reference": "linux-base-7.1.3+deb14-parisc"},
{"reference": "linux-base-7.1.3+deb14-parisc64"},
{"reference": "linux-base-7.1.3+deb14-powerpc"},
{"reference": "linux-base-7.1.3+deb14-powerpc-smp"},
{"reference": "linux-base-7.1.3+deb14-powerpc64"},
{"reference": "linux-base-7.1.3+deb14-powerpc64-64k"},
{"reference": "linux-base-7.1.3+deb14-powerpc64le"},
{"reference": "linux-base-7.1.3+deb14-powerpc64le-64k"},
{"reference": "linux-base-7.1.3+deb14-riscv64"},
{"reference": "linux-base-7.1.3+deb14-rt-amd64"},
{"reference": "linux-base-7.1.3+deb14-rt-arm64"},
{"reference": "linux-base-7.1.3+deb14-s390x"},
{"reference": "linux-base-7.1.3+deb14-sh7751r"},
{"reference": "linux-base-7.1.3+deb14-sparc64"},
{"reference": "linux-base-7.1.3+deb14-sparc64-smp"},
{"reference": "linux-base-7.1.3+deb14-test"}
]
}
]
}
};
var distro_constraints_values = linux_unpatched::get_distro_constraints(distro_constraints_arr:distro_constraints_array);
if (empty_or_null(distro_constraints_values)) audit(AUDIT_HOST_NOT, 'affected');
var third_party_support = get_kb_item('Host/OS/extended-third-party');
if (!empty_or_null(third_party_support)) {
var third_party_vendors = distro_constraints_values['third_party'];
if (!empty_or_null(third_party_vendors)) {
var vendor;
foreach vendor (third_party_vendors) {
if (vendor == third_party_support) exit(0, 'A third party management patch is available for this vulnerability from ' + vendor + '.\n');
}
}
}
var report = linux_unpatched::check_unpatched_constraints(distro_constraints_values:distro_constraints_values);
if (!empty_or_null(report))
{
security_report_v4(
port : 0,
severity : SECURITY_WARNING,
extra : report
);
exit(0);
}
else
{
audit(AUDIT_HOST_NOT, 'affected');
}
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation