CVE-2025-71265
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2025
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
fs: ntfs3: fix infinite loop in attr_load_runs_range on inconsistent metadata
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.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| be71b5cba2e6485e8959da7a9f9a44461a1bb074 | affected | git | 6f07a590616ff5f57f7c041d98e463fad9e9f763 | Unavailable | None listed |
| be71b5cba2e6485e8959da7a9f9a44461a1bb074 | affected | git | a89bc96d5abd8a4a8d5d911884ea347efcdf460b | Unavailable | None listed |
| be71b5cba2e6485e8959da7a9f9a44461a1bb074 | affected | git | af839013c70a24779f9d1afb1575952009312d38 | Unavailable | None listed |
| be71b5cba2e6485e8959da7a9f9a44461a1bb074 | affected | git | 78b61f7eac37a63284774b147f38dd0be6cad43c | Unavailable | None listed |
| be71b5cba2e6485e8959da7a9f9a44461a1bb074 | affected | git | c0b43c45d45f59e7faad48675a50231a210c379b | Unavailable | None listed |
| be71b5cba2e6485e8959da7a9f9a44461a1bb074 | affected | git | 3c3a6e951b9b53dab2ac460a655313cf04c4a10a | Unavailable | None listed |
| be71b5cba2e6485e8959da7a9f9a44461a1bb074 | affected | git | 4b90f16e4bb5607fb35e7802eb67874038da4640 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 5.15 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 5.15 | Unavailable | None listed |
| 5.15.202 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.165 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.128 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.75 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.16 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 6.19.6 | unaffected | semver | Unavailable | 6.19.* | None listed |
| 7.0 | unaffected | original_commit_for_fix | Unavailable | * | None listed |