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

ntfs3: bound to_move in indx_insert_into_root before hdr_insert_head

indx_insert_into_root() promotes a full resident $INDEX_ROOT into
$INDEX_ALLOCATION and copies all non-last resident root entries into
a newly allocated INDEX_BUFFER via hdr_insert_head(). The source
byte count 'to_move' is summed from the on-disk resident entry sizes
and is independent of the destination buffer size, which comes from
root->index_block_size (via indx->index_bits).

A crafted NTFS image that keeps a valid, full resident root but
shrinks root->index_block_size down to 512 after the root has been
populated makes hdr_insert_head() memcpy attacker-controlled resident
entry bytes past the end of the kmalloc(1u << indx->index_bits)
allocation returned by indx_new(). For a 512-byte destination and a
resident root whose non-last entries total 560 bytes, the memcpy
overruns by 120 bytes and a following memmove extends the highest
written offset to 136 bytes past the allocation. The overflow bytes
are a direct copy of on-disk entries (via kmemdup), so they are
fully attacker-controlled.

The write is reachable from unprivileged open(O_CREAT) on a mounted
crafted NTFS image: a single sufficiently long create in a directory
whose resident root is already full forces root promotion and
triggers the copy.

This is a controlled out-of-bounds write of 120-136 bytes past a
kmalloc(index_block_size) allocation, with attacker-controlled
content. It is a bounded adjacent-heap corruption primitive; it is
not an arbitrary-address write. Successful exploitation into a named
victim object depends on the surrounding slab layout.

Reject the copy at the sink. The destination's INDEX_HDR already
reports hdr_total (the payload capacity of the new buffer) and
hdr_used (the bytes already consumed by the terminal END entry
installed by indx_new()); require that to_move fits in the remaining
payload before calling hdr_insert_head(). On mismatch, fail with
-EINVAL and mark the filesystem as having a detected on-disk
inconsistency, which is the same behaviour as the surrounding
validation in this function.
Published: 2026-08-15
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A bug in the Linux kernel's NTFS3 implementation allows an unprivileged user to cause a bounded adjacent‑heap corruption by creating a file on a specially crafted NTFS image. The flaw occurs when the index root contains resident entries whose combined size exceeds the size of the buffer allocated for the promoted $INDEX_ROOT. During the promotion, the kernel copies attacker‑controlled data past the end of the allocated buffer, resulting in a controlled write of 120–136 bytes beyond the allocation. This write does not provide arbitrary address control but can corrupt neighboring kernel heap objects, which can lead to privilege escalation or denial of service if the corruption affects critical data structures. The vulnerability is a classic heap‑based buffer overflow (CWE-120), and the controlled write constitutes a bounded adjacent‑heap corruption primitive.

Affected Systems

Linux kernel implementations that expose the NTFS3 filesystem module are affected. No specific kernel version range is listed in the available data, and vendor or product names are not detailed beyond the general Linux kernel. Administrators should review kernel release notes for the presence of the relevant patch commit.

Risk and Exploitability

The CVSS score of 9.8 reflects the potential for significant impact due to the ability to corrupt kernel heap objects. The vulnerability is exploitable by any local user who can create a file on a mounted NTFS volume; therefore, the attack vector is local and does not require elevated rights. The EPSS score is < 1% and the vulnerability is not listed in the CISA KEV catalog. While the flaw gives a bounded heap write rather than arbitrary memory control, it can corrupt adjacent objects and may lead to privilege escalation or a crash, depending on the surrounding slab layout. Because the conditions for successful exploitation—a specific layout of heap objects and the presence of a vulnerable NTFS image—are not guaranteed, the overall exploitability is moderate to high for environments that mount untrusted NTFS media.

Generated by OpenCVE AI on August 22, 2026 at 10:42 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to a kernel version that incorporates the fix for the NTFS3 index root promotion logic.
  • If a kernel update is not immediately possible, apply the upstream patch that rejects the copy when the resident entry size exceeds the remaining capacity of the destination buffer.
  • If NTFS support is not essential, consider disabling or removing the NTFS filesystem module to eliminate the attack surface or restrict use to trusted media only.

Generated by OpenCVE AI on August 22, 2026 at 10:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 09:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122
CWE-787

Wed, 19 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-120
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 17 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122
CWE-787

Mon, 17 Aug 2026 17:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122
CWE-787

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Sat, 15 Aug 2026 20:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122
CWE-787

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ntfs3: bound to_move in indx_insert_into_root before hdr_insert_head indx_insert_into_root() promotes a full resident $INDEX_ROOT into $INDEX_ALLOCATION and copies all non-last resident root entries into a newly allocated INDEX_BUFFER via hdr_insert_head(). The source byte count 'to_move' is summed from the on-disk resident entry sizes and is independent of the destination buffer size, which comes from root->index_block_size (via indx->index_bits). A crafted NTFS image that keeps a valid, full resident root but shrinks root->index_block_size down to 512 after the root has been populated makes hdr_insert_head() memcpy attacker-controlled resident entry bytes past the end of the kmalloc(1u << indx->index_bits) allocation returned by indx_new(). For a 512-byte destination and a resident root whose non-last entries total 560 bytes, the memcpy overruns by 120 bytes and a following memmove extends the highest written offset to 136 bytes past the allocation. The overflow bytes are a direct copy of on-disk entries (via kmemdup), so they are fully attacker-controlled. The write is reachable from unprivileged open(O_CREAT) on a mounted crafted NTFS image: a single sufficiently long create in a directory whose resident root is already full forces root promotion and triggers the copy. This is a controlled out-of-bounds write of 120-136 bytes past a kmalloc(index_block_size) allocation, with attacker-controlled content. It is a bounded adjacent-heap corruption primitive; it is not an arbitrary-address write. Successful exploitation into a named victim object depends on the surrounding slab layout. Reject the copy at the sink. The destination's INDEX_HDR already reports hdr_total (the payload capacity of the new buffer) and hdr_used (the bytes already consumed by the terminal END entry installed by indx_new()); require that to_move fits in the remaining payload before calling hdr_insert_head(). On mismatch, fail with -EINVAL and mark the filesystem as having a detected on-disk inconsistency, which is the same behaviour as the surrounding validation in this function.
Title ntfs3: bound to_move in indx_insert_into_root before hdr_insert_head
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:41:19.697Z

Reserved: 2026-08-09T03:40:39.911Z

Link: CVE-2026-72192

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:21:37.663

Modified: 2026-08-17T06:18:19.800

Link: CVE-2026-72192

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72192 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T10:45:03Z

Weaknesses
  • CWE-120

    Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')