CVE-2025-71265 (GCVE-0-2025-71265)

Vulnerability from cvelistv5 – Published: 2026-03-18 10:05 – Updated: 2026-03-18 16:21
VLAI?
Title
fs: ntfs3: fix infinite loop in attr_load_runs_range on inconsistent metadata
Summary
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.
Severity ?
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: be71b5cba2e6485e8959da7a9f9a44461a1bb074 , < 6f07a590616ff5f57f7c041d98e463fad9e9f763 (git)
Affected: be71b5cba2e6485e8959da7a9f9a44461a1bb074 , < a89bc96d5abd8a4a8d5d911884ea347efcdf460b (git)
Affected: be71b5cba2e6485e8959da7a9f9a44461a1bb074 , < af839013c70a24779f9d1afb1575952009312d38 (git)
Affected: be71b5cba2e6485e8959da7a9f9a44461a1bb074 , < 78b61f7eac37a63284774b147f38dd0be6cad43c (git)
Affected: be71b5cba2e6485e8959da7a9f9a44461a1bb074 , < c0b43c45d45f59e7faad48675a50231a210c379b (git)
Affected: be71b5cba2e6485e8959da7a9f9a44461a1bb074 , < 3c3a6e951b9b53dab2ac460a655313cf04c4a10a (git)
Affected: be71b5cba2e6485e8959da7a9f9a44461a1bb074 , < 4b90f16e4bb5607fb35e7802eb67874038da4640 (git)
Create a notification for this product.
    Linux Linux Affected: 5.15
Unaffected: 0 , < 5.15 (semver)
Unaffected: 5.15.202 , ≤ 5.15.* (semver)
Unaffected: 6.1.165 , ≤ 6.1.* (semver)
Unaffected: 6.6.128 , ≤ 6.6.* (semver)
Unaffected: 6.12.75 , ≤ 6.12.* (semver)
Unaffected: 6.18.16 , ≤ 6.18.* (semver)
Unaffected: 6.19.6 , ≤ 6.19.* (semver)
Unaffected: 7.0-rc1 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/ntfs3/attrib.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "6f07a590616ff5f57f7c041d98e463fad9e9f763",
              "status": "affected",
              "version": "be71b5cba2e6485e8959da7a9f9a44461a1bb074",
              "versionType": "git"
            },
            {
              "lessThan": "a89bc96d5abd8a4a8d5d911884ea347efcdf460b",
              "status": "affected",
              "version": "be71b5cba2e6485e8959da7a9f9a44461a1bb074",
              "versionType": "git"
            },
            {
              "lessThan": "af839013c70a24779f9d1afb1575952009312d38",
              "status": "affected",
              "version": "be71b5cba2e6485e8959da7a9f9a44461a1bb074",
              "versionType": "git"
            },
            {
              "lessThan": "78b61f7eac37a63284774b147f38dd0be6cad43c",
              "status": "affected",
              "version": "be71b5cba2e6485e8959da7a9f9a44461a1bb074",
              "versionType": "git"
            },
            {
              "lessThan": "c0b43c45d45f59e7faad48675a50231a210c379b",
              "status": "affected",
              "version": "be71b5cba2e6485e8959da7a9f9a44461a1bb074",
              "versionType": "git"
            },
            {
              "lessThan": "3c3a6e951b9b53dab2ac460a655313cf04c4a10a",
              "status": "affected",
              "version": "be71b5cba2e6485e8959da7a9f9a44461a1bb074",
              "versionType": "git"
            },
            {
              "lessThan": "4b90f16e4bb5607fb35e7802eb67874038da4640",
              "status": "affected",
              "version": "be71b5cba2e6485e8959da7a9f9a44461a1bb074",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/ntfs3/attrib.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.15"
            },
            {
              "lessThan": "5.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.202",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.165",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.128",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.75",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.16",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.202",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.165",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.128",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.75",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.16",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.6",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0-rc1",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfs: ntfs3: fix infinite loop in attr_load_runs_range on inconsistent metadata\n\nWe found an infinite loop bug in the ntfs3 file system that can lead to a\nDenial-of-Service (DoS) condition.\n\nA malformed NTFS image can cause an infinite loop when an attribute header\nindicates an empty run list, while directory entries reference it as\ncontaining actual data. In NTFS, setting evcn=-1 with svcn=0 is a valid way\nto represent an empty run list, and run_unpack() correctly handles this by\nchecking if evcn + 1 equals svcn and returning early without parsing any run\ndata. However, this creates a problem when there is metadata inconsistency,\nwhere the attribute header claims to be empty (evcn=-1) but the caller\nexpects to read actual data. When run_unpack() immediately returns success\nupon seeing this condition, it leaves the runs_tree uninitialized with\nrun-\u003eruns as a NULL. The calling function attr_load_runs_range() assumes\nthat a successful return means that the runs were loaded and sets clen to 0,\nexpecting the next run_lookup_entry() call to succeed. Because runs_tree\nremains uninitialized, run_lookup_entry() continues to fail, and the loop\nincrements vcn by zero (vcn += 0), leading to an infinite loop.\n\nThis patch adds a retry counter to detect when run_lookup_entry() fails\nconsecutively after attr_load_runs_vcn(). If the run is still not found on\nthe second attempt, it indicates corrupted metadata and returns -EINVAL,\npreventing the Denial-of-Service (DoS) vulnerability."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-03-18T16:21:43.629Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/6f07a590616ff5f57f7c041d98e463fad9e9f763"
        },
        {
          "url": "https://git.kernel.org/stable/c/a89bc96d5abd8a4a8d5d911884ea347efcdf460b"
        },
        {
          "url": "https://git.kernel.org/stable/c/af839013c70a24779f9d1afb1575952009312d38"
        },
        {
          "url": "https://git.kernel.org/stable/c/78b61f7eac37a63284774b147f38dd0be6cad43c"
        },
        {
          "url": "https://git.kernel.org/stable/c/c0b43c45d45f59e7faad48675a50231a210c379b"
        },
        {
          "url": "https://git.kernel.org/stable/c/3c3a6e951b9b53dab2ac460a655313cf04c4a10a"
        },
        {
          "url": "https://git.kernel.org/stable/c/4b90f16e4bb5607fb35e7802eb67874038da4640"
        }
      ],
      "title": "fs: ntfs3: fix infinite loop in attr_load_runs_range on inconsistent metadata",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-71265",
    "datePublished": "2026-03-18T10:05:01.779Z",
    "dateReserved": "2026-03-17T09:08:18.457Z",
    "dateUpdated": "2026-03-18T16:21:43.629Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-71265\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-03-18T11:16:15.373\",\"lastModified\":\"2026-03-18T14:52:44.227\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nfs: ntfs3: fix infinite loop in attr_load_runs_range on inconsistent metadata\\n\\nWe found an infinite loop bug in the ntfs3 file system that can lead to a\\nDenial-of-Service (DoS) condition.\\n\\nA malformed NTFS image can cause an infinite loop when an attribute header\\nindicates an empty run list, while directory entries reference it as\\ncontaining actual data. In NTFS, setting evcn=-1 with svcn=0 is a valid way\\nto represent an empty run list, and run_unpack() correctly handles this by\\nchecking if evcn + 1 equals svcn and returning early without parsing any run\\ndata. However, this creates a problem when there is metadata inconsistency,\\nwhere the attribute header claims to be empty (evcn=-1) but the caller\\nexpects to read actual data. When run_unpack() immediately returns success\\nupon seeing this condition, it leaves the runs_tree uninitialized with\\nrun-\u003eruns as a NULL. The calling function attr_load_runs_range() assumes\\nthat a successful return means that the runs were loaded and sets clen to 0,\\nexpecting the next run_lookup_entry() call to succeed. Because runs_tree\\nremains uninitialized, run_lookup_entry() continues to fail, and the loop\\nincrements vcn by zero (vcn += 0), leading to an infinite loop.\\n\\nThis patch adds a retry counter to detect when run_lookup_entry() fails\\nconsecutively after attr_load_runs_vcn(). If the run is still not found on\\nthe second attempt, it indicates corrupted metadata and returns -EINVAL,\\npreventing the Denial-of-Service (DoS) vulnerability.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3c3a6e951b9b53dab2ac460a655313cf04c4a10a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4b90f16e4bb5607fb35e7802eb67874038da4640\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6f07a590616ff5f57f7c041d98e463fad9e9f763\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/78b61f7eac37a63284774b147f38dd0be6cad43c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a89bc96d5abd8a4a8d5d911884ea347efcdf460b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/af839013c70a24779f9d1afb1575952009312d38\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c0b43c45d45f59e7faad48675a50231a210c379b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…