VYPR
Unrated severityNVD Advisory· Published Oct 28, 2025· Updated Apr 15, 2026

CVE-2025-40068

CVE-2025-40068

Description

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

fs: ntfs3: Fix integer overflow in run_unpack()

The MFT record relative to the file being opened contains its runlist, an array containing information about the file's location on the physical disk. Analysis of all Call Stack paths showed that the values of the runlist array, from which LCNs are calculated, are not validated before run_unpack function.

The run_unpack function decodes the compressed runlist data format from MFT attributes (for example, $DATA), converting them into a runs_tree structure, which describes the mapping of virtual clusters (VCN) to logical clusters (LCN). The NTFS3 subsystem also has a shortcut for deleting files from MFT records - in this case, the RUN_DEALLOCATE command is sent to the run_unpack input, and the function logic provides that all data transferred to the runlist about file or directory is deleted without creating a runs_tree structure.

Substituting the runlist in the $DATA attribute of the MFT record for an arbitrary file can lead either to access to arbitrary data on the disk bypassing access checks to them (since the inode access check occurs above) or to destruction of arbitrary data on the disk.

Add overflow check for addition operation.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Integer overflow in NTFS3 run_unpack() allows arbitrary disk data access or destruction via crafted MFT runlist.

Vulnerability

Overview

In the Linux kernel's NTFS3 filesystem driver, the run_unpack() function decodes compressed runlist data from MFT attributes (e.g., $DATA) into a runs_tree structure, mapping virtual clusters (VCN) to logical clusters (LCN). An integer overflow occurs in an addition operation during runlist decoding because the values extracted from the MFT record are not validated before being used in calculations. This flaw was discovered by the Linux Verification Center (linuxtesting.org) using the SVACE static analyzer [1].

Exploitation

An attacker with the ability to write to an NTFS volume can substitute the runlist in the $DATA attribute of an arbitrary file's MFT record. By crafting a runlist that triggers the integer overflow, the attacker can cause the kernel to misinterpret the file's cluster mapping. The NTFS3 subsystem also provides a shortcut for deleting files using the RUN_DEALLOCATE command, which passes data to run_unpack() without creating a runs_tree structure, potentially amplifying the impact.

Impact

Successful exploitation can lead to either accessing arbitrary data on the disk (bypassing inode-level access checks) or destroying arbitrary data on the disk. This effectively allows an unprivileged attacker to read or corrupt any sector on the filesystem, depending on how the overflow manipulates the calculated logical cluster number (LCN).

Mitigation

The vulnerability has been addressed by adding an overflow check for the addition operation in run_unpack(). Patches have been backported to stable kernel releases as commits [1], [2], and [3]. Users are strongly advised to update their kernels to include these fixes. No workarounds are currently available.

AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

1

Patches

6

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

6

News mentions

0

No linked articles in our index yet.