CVE-2026-46256 (GCVE-0-2026-46256)

Vulnerability from cvelistv5 – Published: 2026-06-03 15:49 – Updated: 2026-06-03 15:49
VLAI
Title
NFS/localio: prevent direct reclaim recursion into NFS via nfs_writepages
Summary
In the Linux kernel, the following vulnerability has been resolved: NFS/localio: prevent direct reclaim recursion into NFS via nfs_writepages LOCALIO is an NFS loopback mount optimization that avoids using the network for READ, WRITE and COMMIT if the NFS client and server are determined to be on the same system. But because LOCALIO is still fundamentally "just NFS loopback mount" it is susceptible to recursion deadlock via direct reclaim, e.g.: NFS LOCALIO down to XFS and then back into NFS via nfs_writepages. Fix LOCALIO's potential for direct reclaim deadlock by ensuring that all its page cache allocations are done from GFP_NOFS context. Thanks to Ben Coddington for pointing out commit ad22c7a043c2 ("xfs: prevent stack overflows from page cache allocation").
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 70ba381e1a431245c137ed597ec6a05991c79bd9 , < ae26a4cf2baf0a44c538dc093504d1994b02dade (git)
Affected: 70ba381e1a431245c137ed597ec6a05991c79bd9 , < 6a5de0c4fc0f217eea945d3d72c34ee30d72cbc9 (git)
Affected: 70ba381e1a431245c137ed597ec6a05991c79bd9 , < 67435d2d8a33a75f9647724952cb1b18279d2e95 (git)
Create a notification for this product.
Linux Linux Affected: 6.12
Unaffected: 0 , < 6.12 (semver)
Unaffected: 6.18.14 , ≤ 6.18.* (semver)
Unaffected: 6.19.4 , ≤ 6.19.* (semver)
Unaffected: 7.0 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/nfs/localio.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ae26a4cf2baf0a44c538dc093504d1994b02dade",
              "status": "affected",
              "version": "70ba381e1a431245c137ed597ec6a05991c79bd9",
              "versionType": "git"
            },
            {
              "lessThan": "6a5de0c4fc0f217eea945d3d72c34ee30d72cbc9",
              "status": "affected",
              "version": "70ba381e1a431245c137ed597ec6a05991c79bd9",
              "versionType": "git"
            },
            {
              "lessThan": "67435d2d8a33a75f9647724952cb1b18279d2e95",
              "status": "affected",
              "version": "70ba381e1a431245c137ed597ec6a05991c79bd9",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/nfs/localio.c"
          ],
          "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.18.*",
              "status": "unaffected",
              "version": "6.18.14",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.14",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.4",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nNFS/localio: prevent direct reclaim recursion into NFS via nfs_writepages\n\nLOCALIO is an NFS loopback mount optimization that avoids using the\nnetwork for READ, WRITE and COMMIT if the NFS client and server are\ndetermined to be on the same system. But because LOCALIO is still\nfundamentally \"just NFS loopback mount\" it is susceptible to recursion\ndeadlock via direct reclaim, e.g.: NFS LOCALIO down to XFS and then\nback into NFS via nfs_writepages.\n\nFix LOCALIO\u0027s potential for direct reclaim deadlock by ensuring that\nall its page cache allocations are done from GFP_NOFS context.\n\nThanks to Ben Coddington for pointing out commit ad22c7a043c2 (\"xfs:\nprevent stack overflows from page cache allocation\")."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-06-03T15:49:53.168Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/ae26a4cf2baf0a44c538dc093504d1994b02dade"
        },
        {
          "url": "https://git.kernel.org/stable/c/6a5de0c4fc0f217eea945d3d72c34ee30d72cbc9"
        },
        {
          "url": "https://git.kernel.org/stable/c/67435d2d8a33a75f9647724952cb1b18279d2e95"
        }
      ],
      "title": "NFS/localio: prevent direct reclaim recursion into NFS via nfs_writepages",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-46256",
    "datePublished": "2026-06-03T15:49:53.168Z",
    "dateReserved": "2026-05-13T15:03:33.108Z",
    "dateUpdated": "2026-06-03T15:49:53.168Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-46256",
      "date": "2026-07-28",
      "epss": "0.00099",
      "percentile": "0.00988"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-46256\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-06-03T18:16:26.607\",\"lastModified\":\"2026-07-22T20:10:00.127\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nNFS/localio: prevent direct reclaim recursion into NFS via nfs_writepages\\n\\nLOCALIO is an NFS loopback mount optimization that avoids using the\\nnetwork for READ, WRITE and COMMIT if the NFS client and server are\\ndetermined to be on the same system. But because LOCALIO is still\\nfundamentally \\\"just NFS loopback mount\\\" it is susceptible to recursion\\ndeadlock via direct reclaim, e.g.: NFS LOCALIO down to XFS and then\\nback into NFS via nfs_writepages.\\n\\nFix LOCALIO\u0027s potential for direct reclaim deadlock by ensuring that\\nall its page cache allocations are done from GFP_NOFS context.\\n\\nThanks to Ben Coddington for pointing out commit ad22c7a043c2 (\\\"xfs:\\nprevent stack overflows from page cache allocation\\\").\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\\n\\nNFS/localio: prevenir la recursi\u00f3n de recuperaci\u00f3n directa en NFS a trav\u00e9s de nfs_writepages\\n\\nLOCALIO es una optimizaci\u00f3n de montaje de bucle invertido de NFS que evita usar la red para LECTURA, ESCRITURA y COMMIT si se determina que el cliente y el servidor NFS est\u00e1n en el mismo sistema. Pero debido a que LOCALIO sigue siendo fundamentalmente \u0027solo montaje de bucle invertido de NFS\u0027, es susceptible a un interbloqueo por recursi\u00f3n a trav\u00e9s de la recuperaci\u00f3n directa, por ejemplo: NFS LOCALIO hasta XFS y luego de vuelta a NFS a trav\u00e9s de nfs_writepages.\\n\\nSolucionar el potencial de LOCALIO para el interbloqueo por recuperaci\u00f3n directa asegurando que todas sus asignaciones de cach\u00e9 de p\u00e1gina se realicen desde el contexto GFP_NOFS.\\n\\nGracias a Ben Coddington por se\u00f1alar el commit ad22c7a043c2 (\u0027xfs: prevenir desbordamientos de pila por asignaci\u00f3n de cach\u00e9 de p\u00e1gina\u0027).\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/nfs/localio.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"70ba381e1a431245c137ed597ec6a05991c79bd9\",\"lessThan\":\"ae26a4cf2baf0a44c538dc093504d1994b02dade\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"70ba381e1a431245c137ed597ec6a05991c79bd9\",\"lessThan\":\"6a5de0c4fc0f217eea945d3d72c34ee30d72cbc9\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"70ba381e1a431245c137ed597ec6a05991c79bd9\",\"lessThan\":\"67435d2d8a33a75f9647724952cb1b18279d2e95\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/nfs/localio.c\"],\"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.18.14\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.19.4\",\"lessThanOrEqual\":\"6.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.0\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-667\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.12\",\"versionEndExcluding\":\"6.18.14\",\"matchCriteriaId\":\"93C3663E-7115-4246-81F5-164695082093\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.19\",\"versionEndExcluding\":\"6.19.4\",\"matchCriteriaId\":\"672A3E79-EC03-479D-8503-361DFBDC8092\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/67435d2d8a33a75f9647724952cb1b18279d2e95\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/6a5de0c4fc0f217eea945d3d72c34ee30d72cbc9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/ae26a4cf2baf0a44c538dc093504d1994b02dade\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-06-28T07:41:50+00:00",
      "cve": "CVE-2026-46256",
      "id": "CVE-2026-46256",
      "initial_release_date": "2026-06-03T00:00:00+00:00",
      "product_status:known_affected": "76",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: NFS/localio: prevent direct reclaim recursion into NFS via nfs_writepages",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-46256.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-06-05T03:08:14Z",
      "cve": "CVE-2026-46256",
      "id": "CVE-2026-46256",
      "initial_release_date": "2026-06-04T02:21:51Z",
      "product_status:known_affected": "15",
      "product_status:known_not_affected": "212",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-46256",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-46256.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…