CVE-2022-50072 (GCVE-0-2022-50072)
Vulnerability from cvelistv5
Published
2025-06-18 11:02
Modified
2026-08-05 08:57
Summary
In the Linux kernel, the following vulnerability has been resolved: NFSv4/pnfs: Fix a use-after-free bug in open If someone cancels the open RPC call, then we must not try to free either the open slot or the layoutget operation arguments, since they are likely still in use by the hung RPC call.
Impacted products
Vendor Product Version
Linux Linux Version: 6b3fc1496e7227cd6a39a80bbfb7588ef7c7a010
Version: a2b3be930e79cc5d9d829f158e31172b2043f0cd
Version: 0ee5b9644f06b4d3cdcd9544f43f63312e425a4c
Version: d4c2a041ed3ba114502d5ed6ace5b1a48d637a8e
Version: 6949493884fe88500de4af182588e071cf1544ee
Version: 6949493884fe88500de4af182588e071cf1544ee
Version: 08d7a26d115cc7892668baa9750f64bd8baca29b
Version: ea759ae0a9ae5acee677d722129710ac89cc59c1
Version: 4.19.247   
Version: 5.4.198   
Version: 5.10.122   
Version: 5.15.47   
Version: 5.17.15   
Version: 5.18.4   
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/nfs/nfs4proc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "0fffb46ff3d5ed4668aca96441ec7a25b793bd6f",
              "status": "affected",
              "version": "6b3fc1496e7227cd6a39a80bbfb7588ef7c7a010",
              "versionType": "git"
            },
            {
              "lessThan": "f7ee3b772d9de87387a725caa04bc041ac7fe5ec",
              "status": "affected",
              "version": "a2b3be930e79cc5d9d829f158e31172b2043f0cd",
              "versionType": "git"
            },
            {
              "lessThan": "76ffd2042438769298f34b76102b40dea89de616",
              "status": "affected",
              "version": "0ee5b9644f06b4d3cdcd9544f43f63312e425a4c",
              "versionType": "git"
            },
            {
              "lessThan": "a4cf3dadd1fa43609f7c6570c9116b0e0a9923d1",
              "status": "affected",
              "version": "d4c2a041ed3ba114502d5ed6ace5b1a48d637a8e",
              "versionType": "git"
            },
            {
              "lessThan": "b03d1117e9be7c7da60e466eaf9beed85c5916c8",
              "status": "affected",
              "version": "6949493884fe88500de4af182588e071cf1544ee",
              "versionType": "git"
            },
            {
              "lessThan": "2135e5d56278ffdb1c2e6d325dc6b87f669b9dac",
              "status": "affected",
              "version": "6949493884fe88500de4af182588e071cf1544ee",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "08d7a26d115cc7892668baa9750f64bd8baca29b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "ea759ae0a9ae5acee677d722129710ac89cc59c1",
              "versionType": "git"
            },
            {
              "lessThan": "4.19.256",
              "status": "affected",
              "version": "4.19.247",
              "versionType": "semver"
            },
            {
              "lessThan": "5.4.211",
              "status": "affected",
              "version": "5.4.198",
              "versionType": "semver"
            },
            {
              "lessThan": "5.10.138",
              "status": "affected",
              "version": "5.10.122",
              "versionType": "semver"
            },
            {
              "lessThan": "5.15.63",
              "status": "affected",
              "version": "5.15.47",
              "versionType": "semver"
            },
            {
              "lessThan": "5.18",
              "status": "affected",
              "version": "5.17.15",
              "versionType": "semver"
            },
            {
              "lessThan": "5.19",
              "status": "affected",
              "version": "5.18.4",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/nfs/nfs4proc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.19"
            },
            {
              "lessThan": "5.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.256",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.211",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.138",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.63",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.19.*",
              "status": "unaffected",
              "version": "5.19.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.256",
                  "versionStartIncluding": "4.19.247",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.211",
                  "versionStartIncluding": "5.4.198",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.138",
                  "versionStartIncluding": "5.10.122",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.63",
                  "versionStartIncluding": "5.15.47",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.19.4",
                  "versionStartIncluding": "5.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0",
                  "versionStartIncluding": "5.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.17.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.18.4",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nNFSv4/pnfs: Fix a use-after-free bug in open\n\nIf someone cancels the open RPC call, then we must not try to free\neither the open slot or the layoutget operation arguments, since they\nare likely still in use by the hung RPC call."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - This is NFSv4 client code (fs/nfs/nfs4proc.c) reached via local open() on a pNFS mount; the UAF is triggered when a local process cancels the killable RPC wait, not by unsolicited remote packet processing.\nAC:L - An attacker who can open a file on a pNFS (filelayout/flexfiles) mount controls both sides: start OPEN+LAYOUTGET and send a fatal signal during the in-flight RPC, which is reliably achievable with normal network latency or a slow server.\nPR:L - Any unprivileged user with access to an already-mounted NFSv4/pNFS filesystem can open files and interrupt the syscall; no root or init-namespace capabilities are required.\nUI:N - The attacker opens and cancels their own NFS file operation; no separate victim action is required once a pNFS mount is available.\nS:U - This is a same-host kernel memory-safety bug in the NFS client; impact stays within the local kernel\u0027s security authority with no VM/IOMMU boundary crossing.\nC:H - The bug frees nfs4_layoutget (including layout reply pages) while the outstanding OPEN compound still references them via lg_args/lg_res, yielding a classic UAF that can disclose kernel memory.\nI:H - Use-after-free of the layoutget object and its XDR reply pages while the RPC layer may still write into them enables heap corruption and control-flow hijacking primitives.\nA:H - The UAF of in-use RPC/layoutget state can cause kernel oops/panic when the hung RPC completes and touches the freed structures."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:57:19.571Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/0fffb46ff3d5ed4668aca96441ec7a25b793bd6f"
        },
        {
          "url": "https://git.kernel.org/stable/c/f7ee3b772d9de87387a725caa04bc041ac7fe5ec"
        },
        {
          "url": "https://git.kernel.org/stable/c/76ffd2042438769298f34b76102b40dea89de616"
        },
        {
          "url": "https://git.kernel.org/stable/c/a4cf3dadd1fa43609f7c6570c9116b0e0a9923d1"
        },
        {
          "url": "https://git.kernel.org/stable/c/b03d1117e9be7c7da60e466eaf9beed85c5916c8"
        },
        {
          "url": "https://git.kernel.org/stable/c/2135e5d56278ffdb1c2e6d325dc6b87f669b9dac"
        }
      ],
      "title": "NFSv4/pnfs: Fix a use-after-free bug in open",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-50072",
    "datePublished": "2025-06-18T11:02:16.658Z",
    "dateReserved": "2025-06-18T10:57:27.407Z",
    "dateUpdated": "2026-08-05T08:57:19.571Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…