« Volver al listado

CVE-2026-72132

Estado: RecibidaSin puntuar—

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.

Leer descripción completaMostrar menos

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.

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-72132",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "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"
            }
          ],
          "programFiles": [
            "fs/nfs/internal.h",
            "fs/nfs/pnfs_nfs.c",
            "fs/nfs/write.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.3",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.6.148",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver",
              "lessThanOrEqual": "7.1.*"
            },
            {
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "fs/nfs/internal.h",
            "fs/nfs/pnfs_nfs.c",
            "fs/nfs/write.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-08-15T06:21:30.657",
  "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"
    }
  ],
  "vulnStatus": "Received",
  "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's 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's 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."
    }
  ],
  "lastModified": "2026-08-17T06:18:12.897",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}