Lucene search

K
cvelistLinuxCVELIST:CVE-2021-47556
HistoryMay 24, 2024 - 3:09 p.m.

CVE-2021-47556 ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce()

2024-05-2415:09:57
Linux
www.cve.org
linux kernel
vulnerability
ethtool
ioctl
null dereference
fix
driver options
netlink code

6.4 Medium

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

9.0%

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

ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce()

ethtool_set_coalesce() now uses both the .get_coalesce() and
.set_coalesce() callbacks. But the check for their availability is
buggy, so changing the coalesce settings on a device where the driver
provides only one of the callbacks results in a NULL pointer
dereference instead of an -EOPNOTSUPP.

Fix the condition so that the availability of both callbacks is
ensured. This also matches the netlink code.

Note that reproducing this requires some effort - it only affects the
legacy ioctl path, and needs a specific combination of driver options:

  • have .get_coalesce() and .coalesce_supported but no
    .set_coalesce(), or
  • have .set_coalesce() but no .get_coalesce(). Here eg. ethtool doesn’t
    cause the crash as it first attempts to call ethtool_get_coalesce()
    and bails out on error.

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "net/ethtool/ioctl.c"
    ],
    "versions": [
      {
        "version": "f3ccfda19319",
        "lessThan": "abfdd9e2f0f9",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "f3ccfda19319",
        "lessThan": "0276af2176c7",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "net/ethtool/ioctl.c"
    ],
    "versions": [
      {
        "version": "5.15",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "5.15",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.15.6",
        "lessThanOrEqual": "5.15.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.16",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

6.4 Medium

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

9.0%

Related for CVELIST:CVE-2021-47556