GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-72132 (GCVE-0-2026-72132)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:53 – Updated: 2026-08-17 05:08
VLAI
Title
NFS: Charge unstable writes by request size, not folio size
Summary
In the Linux kernel, the following vulnerability has been resolved: NFS: Charge unstable writes by request size, not folio size nfs_folio_mark_unstable() and nfs_folio_clear_commit() charge and uncharge NR_WRITEBACK/WB_WRITEBACK by folio_nr_pages(folio) once per *request* added to or removed from a commit list. This is correct only when a folio has a single associated request. When pg_test splits a folio into N sub-folio requests (e.g. pNFS flexfiles striping with a stripe unit smaller than the folio size, or plain wsize-limited splitting), each of the N requests independently charges the whole folio's page count, inflating the accounting by a factor of N per folio. With large folios and small stripe units this reaches multiple orders of magnitude: a 2 MiB folio split into 512 4 KiB requests can charge up to 512x its real size, pushing global dirty+writeback accounting past the system's dirty threshold and forcing every buffered writer on the host into the hard-throttle path, including unrelated in-kernel NFS server threads sharing the box. Charge each request only for the pages it actually covers.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 0c493b5cf16e28d761b6e77c7c32aa0e7af70813 , < a442c258320b689f13d2205eaeeddf8b0e630288 (git)
Affected: 0c493b5cf16e28d761b6e77c7c32aa0e7af70813 , < 1f646e23372f3444dc5f0bcb5404a49d26756add (git)
Affected: 0c493b5cf16e28d761b6e77c7c32aa0e7af70813 , < 0ffc032294a29601b1019dba91aa1a930d90df17 (git)
Affected: 0c493b5cf16e28d761b6e77c7c32aa0e7af70813 , < a192b6c149c6ea10cc88869accb78165eb454456 (git)
Affected: 0c493b5cf16e28d761b6e77c7c32aa0e7af70813 , < 27934d02cbeb8a957dd11c985a579e58d30c5270 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.3
Unaffected: 0 , < 6.3 (semver)
Unaffected: 6.6.148 , ≤ 6.6.* (semver)
Unaffected: 6.12.97 , ≤ 6.12.* (semver)
Unaffected: 6.18.40 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (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/nfs/internal.h",
            "fs/nfs/pnfs_nfs.c",
            "fs/nfs/write.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a442c258320b689f13d2205eaeeddf8b0e630288",
              "status": "affected",
              "version": "0c493b5cf16e28d761b6e77c7c32aa0e7af70813",
              "versionType": "git"
            },
            {
              "lessThan": "1f646e23372f3444dc5f0bcb5404a49d26756add",
              "status": "affected",
              "version": "0c493b5cf16e28d761b6e77c7c32aa0e7af70813",
              "versionType": "git"
            },
            {
              "lessThan": "0ffc032294a29601b1019dba91aa1a930d90df17",
              "status": "affected",
              "version": "0c493b5cf16e28d761b6e77c7c32aa0e7af70813",
              "versionType": "git"
            },
            {
              "lessThan": "a192b6c149c6ea10cc88869accb78165eb454456",
              "status": "affected",
              "version": "0c493b5cf16e28d761b6e77c7c32aa0e7af70813",
              "versionType": "git"
            },
            {
              "lessThan": "27934d02cbeb8a957dd11c985a579e58d30c5270",
              "status": "affected",
              "version": "0c493b5cf16e28d761b6e77c7c32aa0e7af70813",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/nfs/internal.h",
            "fs/nfs/pnfs_nfs.c",
            "fs/nfs/write.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "lessThan": "6.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.148",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.148",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.97",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nNFS: Charge unstable writes by request size, not folio size\n\nnfs_folio_mark_unstable() and nfs_folio_clear_commit() charge and\nuncharge NR_WRITEBACK/WB_WRITEBACK by folio_nr_pages(folio) once per\n*request* added to or removed from a commit list. This is correct only\nwhen a folio has a single associated request. When pg_test splits a\nfolio into N sub-folio requests (e.g. pNFS flexfiles striping with a\nstripe unit smaller than the folio size, or plain wsize-limited\nsplitting), each of the N requests independently charges the whole\nfolio\u0027s page count, inflating the accounting by a factor of N per\nfolio. With large folios and small stripe units this reaches multiple\norders of magnitude: a 2 MiB folio split into 512 4 KiB requests can\ncharge up to 512x its real size, pushing global dirty+writeback\naccounting past the system\u0027s dirty threshold and forcing every\nbuffered writer on the host into the hard-throttle path, including\nunrelated in-kernel NFS server threads sharing the box.\n\nCharge each request only for the pages it actually covers."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:08:49.516Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a442c258320b689f13d2205eaeeddf8b0e630288"
        },
        {
          "url": "https://git.kernel.org/stable/c/1f646e23372f3444dc5f0bcb5404a49d26756add"
        },
        {
          "url": "https://git.kernel.org/stable/c/0ffc032294a29601b1019dba91aa1a930d90df17"
        },
        {
          "url": "https://git.kernel.org/stable/c/a192b6c149c6ea10cc88869accb78165eb454456"
        },
        {
          "url": "https://git.kernel.org/stable/c/27934d02cbeb8a957dd11c985a579e58d30c5270"
        }
      ],
      "title": "NFS: Charge unstable writes by request size, not folio size",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72132",
    "datePublished": "2026-08-15T05:53:08.096Z",
    "dateReserved": "2026-08-09T03:40:39.907Z",
    "dateUpdated": "2026-08-17T05:08:49.516Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72132",
      "date": "2026-09-04",
      "epss": "0.002",
      "percentile": "0.09833"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-72132\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-15T06:21:30.657\",\"lastModified\":\"2026-08-17T06:18:12.897\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nNFS: Charge unstable writes by request size, not folio size\\n\\nnfs_folio_mark_unstable() and nfs_folio_clear_commit() charge and\\nuncharge NR_WRITEBACK/WB_WRITEBACK by folio_nr_pages(folio) once per\\n*request* added to or removed from a commit list. This is correct only\\nwhen a folio has a single associated request. When pg_test splits a\\nfolio into N sub-folio requests (e.g. pNFS flexfiles striping with a\\nstripe unit smaller than the folio size, or plain wsize-limited\\nsplitting), each of the N requests independently charges the whole\\nfolio\u0027s page count, inflating the accounting by a factor of N per\\nfolio. With large folios and small stripe units this reaches multiple\\norders of magnitude: a 2 MiB folio split into 512 4 KiB requests can\\ncharge up to 512x its real size, pushing global dirty+writeback\\naccounting past the system\u0027s dirty threshold and forcing every\\nbuffered writer on the host into the hard-throttle path, including\\nunrelated in-kernel NFS server threads sharing the box.\\n\\nCharge each request only for the pages it actually covers.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/nfs/internal.h\",\"fs/nfs/pnfs_nfs.c\",\"fs/nfs/write.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"0c493b5cf16e28d761b6e77c7c32aa0e7af70813\",\"lessThan\":\"a442c258320b689f13d2205eaeeddf8b0e630288\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"0c493b5cf16e28d761b6e77c7c32aa0e7af70813\",\"lessThan\":\"1f646e23372f3444dc5f0bcb5404a49d26756add\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"0c493b5cf16e28d761b6e77c7c32aa0e7af70813\",\"lessThan\":\"0ffc032294a29601b1019dba91aa1a930d90df17\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"0c493b5cf16e28d761b6e77c7c32aa0e7af70813\",\"lessThan\":\"a192b6c149c6ea10cc88869accb78165eb454456\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"0c493b5cf16e28d761b6e77c7c32aa0e7af70813\",\"lessThan\":\"27934d02cbeb8a957dd11c985a579e58d30c5270\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/nfs/internal.h\",\"fs/nfs/pnfs_nfs.c\",\"fs/nfs/write.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.3\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.3\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.148\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.97\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.40\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.5\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0ffc032294a29601b1019dba91aa1a930d90df17\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1f646e23372f3444dc5f0bcb5404a49d26756add\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/27934d02cbeb8a957dd11c985a579e58d30c5270\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a192b6c149c6ea10cc88869accb78165eb454456\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a442c258320b689f13d2205eaeeddf8b0e630288\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-17T23:25:49+00:00",
      "cve": "CVE-2026-72132",
      "id": "CVE-2026-72132",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "198",
      "product_status:known_not_affected": "76",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: NFS: Charge unstable writes by request size, not folio size",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72132.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…