CVE Catalog

CVE-2025-71265

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.12%

2th percentile - higher than 2% of all known CVEs

Summary

In the Linux kernel's NTFS3 filesystem, an infinite loop bug was found. Inconsistent NTFS metadata, where an attribute reports an empty run list (evcn=-1) but the directory expects data, causes attr_load_runs_range() to loop indefinitely, exhausting system resources.

Risk Assessment

An attacker can provide a crafted NTFS image, causing a system hang (DoS) via an infinite loop in the kernel. The risk affects systems mounting untrusted NTFS partitions, e.g., in virtualization or file-sharing environments.

Recommendation

Immediately update the Linux kernel to a version containing the fix (commit adding a retry counter in attr_load_runs_range()). If an update is not possible, avoid mounting untrusted NTFS images.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: fs: ntfs3: fix infinite loop in attr_load_runs_range on inconsistent metadata We found an infinite loop bug in the ntfs3 file system that can lead to a Denial-of-Service (DoS) condition. A malformed NTFS image can cause an infinite loop when an attribute header indicates an empty run list, while directory entries reference it as containing actual data. In NTFS, setting evcn=-1 with svcn=0 is a valid way to represent an empty run list, and run_unpack() correctly handles this by checking if evcn + 1 equals svcn and returning early without parsing any run data. However, this creates a problem when there is metadata inconsistency, where the attribute header claims to be empty (evcn=-1) but the caller expects to read actual data. When run_unpack() immediately returns success upon seeing this condition, it leaves the runs_tree uninitialized with run->runs as a NULL. The calling function attr_load_runs_range() assumes that a successful return means that the runs were loaded and sets clen to 0, expecting the next run_lookup_entry() call to succeed. Because runs_tree remains uninitialized, run_lookup_entry() continues to fail, and the loop increments vcn by zero (vcn += 0), leading to an infinite loop. This patch adds a retry counter to detect when run_lookup_entry() fails consecutively after attr_load_runs_vcn(). If the run is still not found on the second attempt, it indicates corrupted metadata and returns -EINVAL, preventing the Denial-of-Service (DoS) vulnerability.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS