CVE-2026-64059 (GCVE-0-2026-64059)

Vulnerability from cvelistv5 – Published: 2026-07-19 15:39 – Updated: 2026-07-19 15:39
VLAI
Title
netfs: Fix folio->private handling in netfs_perform_write()
Summary
In the Linux kernel, the following vulnerability has been resolved: netfs: Fix folio->private handling in netfs_perform_write() Under some circumstances, netfs_perform_write() doesn't correctly manipulate folio->private between NULL, NETFS_FOLIO_COPY_TO_CACHE, pointing to a group and pointing to a netfs_folio struct, leading to potential multiple attachments of private data with associated folio ref leaks and also leaks of netfs_folio structs or netfs_group refs. Fix this by consolidating the place at which a folio is marked uptodate in one place and having that look at what's attached to folio->private and decide how to clean it up and then set the new group. Also, the content shouldn't be flushed if group is NULL, even if a group is specified in the netfs_group parameter, as that would be the case for a new folio. A filesystem should always specify netfs_group or never specify netfs_group. The Sashiko auto-review tool noted that it was theoretically possible that the fpos >= ctx->zero_point section might leak if it modified a streaming write folio. This is unlikely, but with a network filesystem, third party changes can happen. It also pointed out that __netfs_set_group() would leak if called multiple times on the same folio from the "whole folio modify section".
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 8f52de0077ba3bf41e5d53d67a185700f41efce7 , < 7f040243c74d72b45b22246c7d9e621fbeab44ac (git)
Affected: 8f52de0077ba3bf41e5d53d67a185700f41efce7 , < 551b5c71ee312ca7646ddb605231c1016e8cbb18 (git)
Affected: 8f52de0077ba3bf41e5d53d67a185700f41efce7 , < 0969ea8370bad0e4fb6131b6a7bed9e7ec522ac7 (git)
Affected: 8f52de0077ba3bf41e5d53d67a185700f41efce7 , < ccde2ac757c713535b224233a296de40efe5212d (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.12
Unaffected: 0 , < 6.12 (semver)
Unaffected: 6.12.92 , ≤ 6.12.* (semver)
Unaffected: 6.18.34 , ≤ 6.18.* (semver)
Unaffected: 7.0.11 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/netfs/buffered_write.c",
            "include/trace/events/netfs.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "7f040243c74d72b45b22246c7d9e621fbeab44ac",
              "status": "affected",
              "version": "8f52de0077ba3bf41e5d53d67a185700f41efce7",
              "versionType": "git"
            },
            {
              "lessThan": "551b5c71ee312ca7646ddb605231c1016e8cbb18",
              "status": "affected",
              "version": "8f52de0077ba3bf41e5d53d67a185700f41efce7",
              "versionType": "git"
            },
            {
              "lessThan": "0969ea8370bad0e4fb6131b6a7bed9e7ec522ac7",
              "status": "affected",
              "version": "8f52de0077ba3bf41e5d53d67a185700f41efce7",
              "versionType": "git"
            },
            {
              "lessThan": "ccde2ac757c713535b224233a296de40efe5212d",
              "status": "affected",
              "version": "8f52de0077ba3bf41e5d53d67a185700f41efce7",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/netfs/buffered_write.c",
            "include/trace/events/netfs.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.12"
            },
            {
              "lessThan": "6.12",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.92",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.34",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.92",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.34",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.11",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfs: Fix folio-\u003eprivate handling in netfs_perform_write()\n\nUnder some circumstances, netfs_perform_write() doesn\u0027t correctly\nmanipulate folio-\u003eprivate between NULL, NETFS_FOLIO_COPY_TO_CACHE, pointing\nto a group and pointing to a netfs_folio struct, leading to potential\nmultiple attachments of private data with associated folio ref leaks and\nalso leaks of netfs_folio structs or netfs_group refs.\n\nFix this by consolidating the place at which a folio is marked uptodate in\none place and having that look at what\u0027s attached to folio-\u003eprivate and\ndecide how to clean it up and then set the new group.  Also, the content\nshouldn\u0027t be flushed if group is NULL, even if a group is specified in the\nnetfs_group parameter, as that would be the case for a new folio.  A\nfilesystem should always specify netfs_group or never specify netfs_group.\n\nThe Sashiko auto-review tool noted that it was theoretically possible that\nthe fpos \u003e= ctx-\u003ezero_point section might leak if it modified a streaming\nwrite folio.  This is unlikely, but with a network filesystem, third party\nchanges can happen.  It also pointed out that __netfs_set_group() would\nleak if called multiple times on the same folio from the \"whole folio\nmodify section\"."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-07-19T15:39:39.607Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/7f040243c74d72b45b22246c7d9e621fbeab44ac"
        },
        {
          "url": "https://git.kernel.org/stable/c/551b5c71ee312ca7646ddb605231c1016e8cbb18"
        },
        {
          "url": "https://git.kernel.org/stable/c/0969ea8370bad0e4fb6131b6a7bed9e7ec522ac7"
        },
        {
          "url": "https://git.kernel.org/stable/c/ccde2ac757c713535b224233a296de40efe5212d"
        }
      ],
      "title": "netfs: Fix folio-\u003eprivate handling in netfs_perform_write()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64059",
    "datePublished": "2026-07-19T15:39:39.607Z",
    "dateReserved": "2026-07-19T07:54:57.030Z",
    "dateUpdated": "2026-07-19T15:39:39.607Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64059",
      "date": "2026-08-31",
      "epss": "0.00168",
      "percentile": "0.06309"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-64059\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-07-19T16:17:46.407\",\"lastModified\":\"2026-07-30T14:59:47.950\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnetfs: Fix folio-\u003eprivate handling in netfs_perform_write()\\n\\nUnder some circumstances, netfs_perform_write() doesn\u0027t correctly\\nmanipulate folio-\u003eprivate between NULL, NETFS_FOLIO_COPY_TO_CACHE, pointing\\nto a group and pointing to a netfs_folio struct, leading to potential\\nmultiple attachments of private data with associated folio ref leaks and\\nalso leaks of netfs_folio structs or netfs_group refs.\\n\\nFix this by consolidating the place at which a folio is marked uptodate in\\none place and having that look at what\u0027s attached to folio-\u003eprivate and\\ndecide how to clean it up and then set the new group.  Also, the content\\nshouldn\u0027t be flushed if group is NULL, even if a group is specified in the\\nnetfs_group parameter, as that would be the case for a new folio.  A\\nfilesystem should always specify netfs_group or never specify netfs_group.\\n\\nThe Sashiko auto-review tool noted that it was theoretically possible that\\nthe fpos \u003e= ctx-\u003ezero_point section might leak if it modified a streaming\\nwrite folio.  This is unlikely, but with a network filesystem, third party\\nchanges can happen.  It also pointed out that __netfs_set_group() would\\nleak if called multiple times on the same folio from the \\\"whole folio\\nmodify section\\\".\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/netfs/buffered_write.c\",\"include/trace/events/netfs.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"8f52de0077ba3bf41e5d53d67a185700f41efce7\",\"lessThan\":\"7f040243c74d72b45b22246c7d9e621fbeab44ac\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8f52de0077ba3bf41e5d53d67a185700f41efce7\",\"lessThan\":\"551b5c71ee312ca7646ddb605231c1016e8cbb18\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8f52de0077ba3bf41e5d53d67a185700f41efce7\",\"lessThan\":\"0969ea8370bad0e4fb6131b6a7bed9e7ec522ac7\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8f52de0077ba3bf41e5d53d67a185700f41efce7\",\"lessThan\":\"ccde2ac757c713535b224233a296de40efe5212d\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/netfs/buffered_write.c\",\"include/trace/events/netfs.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.12\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.12\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.92\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.34\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.0.11\",\"lessThanOrEqual\":\"7.0.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0969ea8370bad0e4fb6131b6a7bed9e7ec522ac7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/551b5c71ee312ca7646ddb605231c1016e8cbb18\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7f040243c74d72b45b22246c7d9e621fbeab44ac\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ccde2ac757c713535b224233a296de40efe5212d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-07-21T07:20:45+00:00",
      "cve": "CVE-2026-64059",
      "id": "CVE-2026-64059",
      "initial_release_date": "2026-07-19T00:00:00+00:00",
      "product_status:known_affected": "76",
      "product_status:known_not_affected": "199",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: netfs: Fix folio-\u003eprivate handling in netfs_perform_write()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64059.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-30T16:33:08Z",
      "cve": "CVE-2026-64059",
      "id": "CVE-2026-64059",
      "initial_release_date": "2026-07-21T13:00:25Z",
      "product_status:known_affected": "29",
      "product_status:known_not_affected": "267",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-64059",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-64059.json",
      "version": "4"
    }
  }
}



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…