CVE-2026-64267 (GCVE-0-2026-64267)

Vulnerability from cvelistv5 – Published: 2026-07-25 08:49 – Updated: 2026-07-25 08:49
VLAI
Title
fuse: avoid 32-bit prune notification count wrap
Summary
In the Linux kernel, the following vulnerability has been resolved: fuse: avoid 32-bit prune notification count wrap FUSE_NOTIFY_PRUNE validates the nodeid payload length with: size - sizeof(outarg) != outarg.count * sizeof(u64) On 32-bit kernels, size_t is also 32 bits, so the daemon-controlled count multiplication can wrap. A prune notification with count 0x20000000 and no nodeid payload passes the check, enters the copy loop, and asks the device copy path to read nodeids that are not present in the userspace write buffer. In QEMU this reaches the fuse_copy_fill() BUG_ON(!err) path. Validate the payload length with array_size() instead. That accepts exactly the same valid messages, but avoids wrapping arithmetic before the copy loop consumes the count.
Severity
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 3f29d59e92a96d843c2ff10ebfed92ac26878658 , < 6e2d84fdeac05bfd858e84a76353fdb84f23a43e (git)
Affected: 3f29d59e92a96d843c2ff10ebfed92ac26878658 , < c78c4b242299bc581e4987e5c2786c6f4760c516 (git)
Affected: 3f29d59e92a96d843c2ff10ebfed92ac26878658 , < 54243797cedf55447b4c5d560e8cd709900061ae (git)
Create a notification for this product.
Linux Linux Affected: 6.18
Unaffected: 0 , < 6.18 (semver)
Unaffected: 6.18.39 , ≤ 6.18.* (semver)
Unaffected: 7.1.4 , ≤ 7.1.* (semver)
Unaffected: 7.2-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/fuse/dev.c",
            "fs/fuse/notify.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "6e2d84fdeac05bfd858e84a76353fdb84f23a43e",
              "status": "affected",
              "version": "3f29d59e92a96d843c2ff10ebfed92ac26878658",
              "versionType": "git"
            },
            {
              "lessThan": "c78c4b242299bc581e4987e5c2786c6f4760c516",
              "status": "affected",
              "version": "3f29d59e92a96d843c2ff10ebfed92ac26878658",
              "versionType": "git"
            },
            {
              "lessThan": "54243797cedf55447b4c5d560e8cd709900061ae",
              "status": "affected",
              "version": "3f29d59e92a96d843c2ff10ebfed92ac26878658",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/fuse/dev.c",
            "fs/fuse/notify.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.18"
            },
            {
              "lessThan": "6.18",
              "status": "unaffected",
              "version": "0",
              "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-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.39",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.4",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2-rc1",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfuse: avoid 32-bit prune notification count wrap\n\nFUSE_NOTIFY_PRUNE validates the nodeid payload length with:\n\n    size - sizeof(outarg) != outarg.count * sizeof(u64)\n\nOn 32-bit kernels, size_t is also 32 bits, so the daemon-controlled\ncount multiplication can wrap.  A prune notification with count\n0x20000000 and no nodeid payload passes the check, enters the copy\nloop, and asks the device copy path to read nodeids that are not\npresent in the userspace write buffer.  In QEMU this reaches the\nfuse_copy_fill() BUG_ON(!err) path.\n\nValidate the payload length with array_size() instead.  That accepts\nexactly the same valid messages, but avoids wrapping arithmetic before\nthe copy loop consumes the count."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-07-25T08:49:15.720Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/6e2d84fdeac05bfd858e84a76353fdb84f23a43e"
        },
        {
          "url": "https://git.kernel.org/stable/c/c78c4b242299bc581e4987e5c2786c6f4760c516"
        },
        {
          "url": "https://git.kernel.org/stable/c/54243797cedf55447b4c5d560e8cd709900061ae"
        }
      ],
      "title": "fuse: avoid 32-bit prune notification count wrap",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64267",
    "datePublished": "2026-07-25T08:49:15.720Z",
    "dateReserved": "2026-07-19T15:36:31.775Z",
    "dateUpdated": "2026-07-25T08:49:15.720Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64267",
      "date": "2026-07-27",
      "epss": "0.00198",
      "percentile": "0.09841"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-64267\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-07-25T10:17:06.910\",\"lastModified\":\"2026-07-25T10:17:06.910\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nfuse: avoid 32-bit prune notification count wrap\\n\\nFUSE_NOTIFY_PRUNE validates the nodeid payload length with:\\n\\n    size - sizeof(outarg) != outarg.count * sizeof(u64)\\n\\nOn 32-bit kernels, size_t is also 32 bits, so the daemon-controlled\\ncount multiplication can wrap.  A prune notification with count\\n0x20000000 and no nodeid payload passes the check, enters the copy\\nloop, and asks the device copy path to read nodeids that are not\\npresent in the userspace write buffer.  In QEMU this reaches the\\nfuse_copy_fill() BUG_ON(!err) path.\\n\\nValidate the payload length with array_size() instead.  That accepts\\nexactly the same valid messages, but avoids wrapping arithmetic before\\nthe copy loop consumes the count.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/fuse/dev.c\",\"fs/fuse/notify.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"3f29d59e92a96d843c2ff10ebfed92ac26878658\",\"lessThan\":\"6e2d84fdeac05bfd858e84a76353fdb84f23a43e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"3f29d59e92a96d843c2ff10ebfed92ac26878658\",\"lessThan\":\"c78c4b242299bc581e4987e5c2786c6f4760c516\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"3f29d59e92a96d843c2ff10ebfed92ac26878658\",\"lessThan\":\"54243797cedf55447b4c5d560e8cd709900061ae\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/fuse/dev.c\",\"fs/fuse/notify.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.18\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.18\",\"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-rc1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/54243797cedf55447b4c5d560e8cd709900061ae\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6e2d84fdeac05bfd858e84a76353fdb84f23a43e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c78c4b242299bc581e4987e5c2786c6f4760c516\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "suse_vex": {
      "aggregate_severity": "not set",
      "current_release_date": "2026-07-25T16:46:58Z",
      "cve": "CVE-2026-64267",
      "id": "CVE-2026-64267",
      "initial_release_date": "2026-07-25T16:46:58Z",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-64267",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-64267.json",
      "version": "2"
    }
  }
}



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…