CVE-2021-47556: ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce()
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.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel bug that can crash the system when legacy ethtool ioctl coalescing settings are changed on certain network drivers. It is not described as remote code execution. The source says reproduction requires effort and a specific driver callback mismatch.
Executive priority
Treat this as a stability and availability issue, not a confirmed active-exploitation emergency. Patch during normal kernel maintenance, faster for high-availability systems where an unexpected kernel crash would create business impact.
Technical view
ethtool_set_coalesce() can dereference a NULL callback because it did not correctly require both get_coalesce() and set_coalesce(). The issue affects the legacy ioctl path when driver callback support is incomplete. The fix changes the condition to ensure both callbacks exist, matching the netlink path behavior.
Likely exposure
Exposure is most likely on Linux systems running affected 5.15-era kernels with network drivers matching the callback combinations described in the CVE. Systems not using the legacy ioctl path or not exposing affected driver behavior are less likely to be impacted.
Exploitation context
The provided sources do not show active exploitation, and CISA KEV is false. The CVE text says reproduction requires effort, affects only the legacy ioctl path, and depends on specific driver options. Expected impact is a local or operational denial of service through kernel NULL dereference.
Researcher notes
The key exposure condition is driver-specific callback asymmetry in ethtool coalesce handling. Validate against actual driver implementations and the ioctl path. The sources do not provide CVSS, CWE, exploit reports, or distribution-specific fixed versions.
Mitigation direction
Apply Linux kernel updates containing the referenced stable fixes.
Check distribution vendor advisories for the exact fixed kernel package.
Avoid changing affected coalesce settings through legacy ioctl paths until patched.
Prioritize shared, production, and remotely managed network hosts.
Validation and detection
Inventory Linux kernel versions against the CVE affected range.
Review whether network drivers implement only one ethtool coalesce callback.
Confirm patched kernels include the referenced stable commits.
Check crash logs for NULL dereference near ethtool_set_coalesce().
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2021-47556 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.