Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2021-47179
HistoryMar 25, 2024 - 9:16 a.m.

CVE-2021-47179 NFSv4: Fix a NULL pointer dereference in pnfs_mark_matching_lsegs_return()

2024-03-2509:16:28
Linux
github.com
4
linux kernel
nfsv4
null pointer dereference
pnfs_mark_matching_lsegs_return
pnfs_layout_range
oops
connectathon basic tests
nfs v4.1
nfs v4.2
ontap

AI Score

6.7

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

In the Linux kernel, the following vulnerability has been resolved:

NFSv4: Fix a NULL pointer dereference in pnfs_mark_matching_lsegs_return()

Commit de144ff4234f changes _pnfs_return_layout() to call
pnfs_mark_matching_lsegs_return() passing NULL as the struct
pnfs_layout_range argument. Unfortunately,
pnfs_mark_matching_lsegs_return() doesn’t check if we have a value here
before dereferencing it, causing an oops.

I’m able to hit this crash consistently when running connectathon basic
tests on NFS v4.1/v4.2 against Ontap.

CNA Affected

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "80e34f4957ec",
        "lessThan": "4e1ba532dbc1",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "7b7b97746432",
        "lessThan": "42637ca25c7d",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "9ffa7967f937",
        "lessThan": "39785761fead",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "6be0e4b59314",
        "lessThan": "aba3c7795f51",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "2fafe7d5047f",
        "lessThan": "f9890652185b",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "7e65ea887d0c",
        "lessThan": "b090d110e666",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "de144ff4234f",
        "lessThan": "a421d218603f",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "fs/nfs/pnfs.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "4.9.269",
        "lessThan": "4.9.271",
        "versionType": "custom"
      },
      {
        "status": "affected",
        "version": "4.14.233",
        "lessThan": "4.14.235",
        "versionType": "custom"
      },
      {
        "status": "affected",
        "version": "4.19.191",
        "lessThan": "4.19.193",
        "versionType": "custom"
      },
      {
        "status": "affected",
        "version": "5.4.118",
        "lessThan": "5.4.124",
        "versionType": "custom"
      },
      {
        "status": "affected",
        "version": "5.10.36",
        "lessThan": "5.10.42",
        "versionType": "custom"
      },
      {
        "status": "affected",
        "version": "5.12.3",
        "lessThan": "5.12.9",
        "versionType": "custom"
      }
    ],
    "programFiles": [
      "fs/nfs/pnfs.c"
    ],
    "defaultStatus": "unaffected"
  }
]

AI Score

6.7

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial