CVE-2026-64600 (GCVE-0-2026-64600)

Vulnerability from cvelistv5 – Published: 2026-07-23 05:46 – Updated: 2026-07-23 06:54
VLAI
Title
xfs: resample the data fork mapping after cycling ILOCK
Summary
In the Linux kernel, the following vulnerability has been resolved: xfs: resample the data fork mapping after cycling ILOCK xfs_reflink_fill_{cow_hole,delalloc} are both presented with an inode, a data fork mapping, and a cow fork mapping. Unfortunately, these two helpers cycle the ILOCK to grab a transaction, which means that the mappings are stale as soon as we reacquire the ILOCK. Currently we refresh the cow fork mapping by re-calling xfs_find_trim_cow_extent, but we don't refresh the data fork mapping beforehand, which means that the xfs_bmap_trim_cow in that function queries the refcount btree about the wrong physical blocks and returns an inaccurate value in *shared. If *shared is now false, the directio write proceeds with a stale data fork mapping. Fix this by querying the data fork mapping if the sequence counter changes across the ILOCK cycle.
Severity
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5 , < e705d81a7193dd19e69b8e2bad4696d78a4ea075 (git)
Affected: 3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5 , < 206c09b04dc5469c7ff14d8aceff2d47c88078d9 (git)
Affected: 3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5 , < 44f891bc088958399eec27f7604928694aa35581 (git)
Affected: 3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5 , < 2f4acd0fcd862e22eab45690ec2c08c80b6ef2e7 (git)
Create a notification for this product.
Linux Linux Affected: 4.11
Unaffected: 0 , < 4.11 (semver)
Unaffected: 6.12.96 , ≤ 6.12.* (semver)
Unaffected: 6.18.39 , ≤ 6.18.* (semver)
Unaffected: 7.1.4 , ≤ 7.1.* (semver)
Unaffected: 7.2-rc4 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2026-07-23T06:54:07.428Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "http://www.openwall.com/lists/oss-security/2026/07/22/14"
          },
          {
            "url": "http://www.openwall.com/lists/oss-security/2026/07/22/18"
          },
          {
            "url": "http://www.openwall.com/lists/oss-security/2026/07/22/19"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/xfs/xfs_reflink.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e705d81a7193dd19e69b8e2bad4696d78a4ea075",
              "status": "affected",
              "version": "3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5",
              "versionType": "git"
            },
            {
              "lessThan": "206c09b04dc5469c7ff14d8aceff2d47c88078d9",
              "status": "affected",
              "version": "3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5",
              "versionType": "git"
            },
            {
              "lessThan": "44f891bc088958399eec27f7604928694aa35581",
              "status": "affected",
              "version": "3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5",
              "versionType": "git"
            },
            {
              "lessThan": "2f4acd0fcd862e22eab45690ec2c08c80b6ef2e7",
              "status": "affected",
              "version": "3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/xfs/xfs_reflink.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.11"
            },
            {
              "lessThan": "4.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.96",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.39",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2-rc4",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.96",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.39",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.4",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2-rc4",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nxfs: resample the data fork mapping after cycling ILOCK\n\nxfs_reflink_fill_{cow_hole,delalloc} are both presented with an inode,\na data fork mapping, and a cow fork mapping.  Unfortunately, these two\nhelpers cycle the ILOCK to grab a transaction, which means that the\nmappings are stale as soon as we reacquire the ILOCK.  Currently we\nrefresh the cow fork mapping by re-calling xfs_find_trim_cow_extent, but\nwe don\u0027t refresh the data fork mapping beforehand, which means that the\nxfs_bmap_trim_cow in that function queries the refcount btree about the\nwrong physical blocks and returns an inaccurate value in *shared.\n\nIf *shared is now false, the directio write proceeds with a stale data\nfork mapping.  Fix this by querying the data fork mapping if the\nsequence counter changes across the ILOCK cycle."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-07-23T05:47:18.646Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e705d81a7193dd19e69b8e2bad4696d78a4ea075"
        },
        {
          "url": "https://git.kernel.org/stable/c/206c09b04dc5469c7ff14d8aceff2d47c88078d9"
        },
        {
          "url": "https://git.kernel.org/stable/c/44f891bc088958399eec27f7604928694aa35581"
        },
        {
          "url": "https://git.kernel.org/stable/c/2f4acd0fcd862e22eab45690ec2c08c80b6ef2e7"
        }
      ],
      "title": "xfs: resample the data fork mapping after cycling ILOCK",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64600",
    "datePublished": "2026-07-23T05:46:56.149Z",
    "dateReserved": "2026-07-19T15:36:31.799Z",
    "dateUpdated": "2026-07-23T06:54:07.428Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-64600\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-07-23T06:16:50.493\",\"lastModified\":\"2026-07-23T06:16:50.493\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nxfs: resample the data fork mapping after cycling ILOCK\\n\\nxfs_reflink_fill_{cow_hole,delalloc} are both presented with an inode,\\na data fork mapping, and a cow fork mapping.  Unfortunately, these two\\nhelpers cycle the ILOCK to grab a transaction, which means that the\\nmappings are stale as soon as we reacquire the ILOCK.  Currently we\\nrefresh the cow fork mapping by re-calling xfs_find_trim_cow_extent, but\\nwe don\u0027t refresh the data fork mapping beforehand, which means that the\\nxfs_bmap_trim_cow in that function queries the refcount btree about the\\nwrong physical blocks and returns an inaccurate value in *shared.\\n\\nIf *shared is now false, the directio write proceeds with a stale data\\nfork mapping.  Fix this by querying the data fork mapping if the\\nsequence counter changes across the ILOCK cycle.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/xfs/xfs_reflink.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5\",\"lessThan\":\"e705d81a7193dd19e69b8e2bad4696d78a4ea075\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5\",\"lessThan\":\"206c09b04dc5469c7ff14d8aceff2d47c88078d9\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5\",\"lessThan\":\"44f891bc088958399eec27f7604928694aa35581\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5\",\"lessThan\":\"2f4acd0fcd862e22eab45690ec2c08c80b6ef2e7\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/xfs/xfs_reflink.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.11\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.11\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.96\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.39\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.4\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2-rc4\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/206c09b04dc5469c7ff14d8aceff2d47c88078d9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2f4acd0fcd862e22eab45690ec2c08c80b6ef2e7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/44f891bc088958399eec27f7604928694aa35581\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e705d81a7193dd19e69b8e2bad4696d78a4ea075\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Important",
      "current_release_date": "2026-07-23T03:01:20+00:00",
      "cve": "CVE-2026-64600",
      "id": "CVE-2026-64600",
      "initial_release_date": "2026-07-14T00:00:00+00:00",
      "product_status:fixed": "1946",
      "product_status:known_affected": "23",
      "product_status:known_not_affected": "42",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: XFS data corruption using reflink",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64600.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

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…

Loading…