CVE-2021-47671: can: etas_es58x: es58x_rx_err_msg(): fix memory leak in error path
In the Linux kernel, the following vulnerability has been resolved:
can: etas_es58x: es58x_rx_err_msg(): fix memory leak in error path
In es58x_rx_err_msg(), if can->do_set_mode() fails, the function
directly returns without calling netif_rx(skb). This means that the
skb previously allocated by alloc_can_err_skb() is not freed. In other
terms, this is a memory leak.
This patch simply removes the return statement in the error branch and
let the function continue.
Issue was found with GCC -fanalyzer, please follow the link below for
details.
Security readout for executives and security teams
Plain-English summary
This is a low-severity Linux kernel memory leak in the ETAS ES58x CAN driver error path. A local, low-privileged user could potentially cause limited availability impact if the affected driver path is reachable. The supplied sources do not show data theft, integrity impact, remote exploitation, or confirmed active exploitation.
Executive priority
Treat as routine kernel maintenance unless the organization relies on ETAS ES58x CAN interfaces in operational environments. Business urgency is low, but affected embedded, lab, or industrial Linux systems should be patched through normal change control.
Technical view
In es58x_rx_err_msg(), failure of can->do_set_mode() returned before passing the allocated skb to netif_rx(), leaving it unfreed. The Linux fix removes that early return so normal cleanup handling continues. The CVSS vector is local, low complexity, low privileges, no user interaction, availability-only impact.
Likely exposure
Exposure is likely limited to Linux systems running affected kernel versions with the ETAS ES58x CAN driver present and reachable. General-purpose servers without this CAN hardware or driver path are less likely to be exposed, based on the supplied evidence.
Exploitation context
The source bundle marks KEV as false and provides no cited evidence of active exploitation. The CVSS vector requires local access and low privileges. The issue is a memory leak, so realistic concern is resource exhaustion rather than confidentiality or integrity compromise.
Researcher notes
The evidence describes a GCC -fanalyzer-found CWE-401 memory leak in the Linux CAN ETAS ES58x driver. Affected version data in the bundle is sparse and commit-oriented, so validation should rely on kernel commit inclusion or distribution backport confirmation.
Mitigation direction
Update to a Linux kernel or distro package containing the referenced stable fixes.
Prioritize systems using ETAS ES58x CAN interfaces or affected kernel branches.
Check distribution vendor advisories for supported backports and rollout guidance.
If patching is delayed, follow vendor mitigation guidance; none is specified in supplied sources.
Validation and detection
Inventory Linux hosts for affected kernel versions and ETAS ES58x driver usage.
Confirm whether referenced stable commits are present in deployed kernel sources or packages.
Check distro CVE trackers for backported fixes matching CVE-2021-47671.
Verify post-update kernel version or package changelog includes this CVE or fix.
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.
cwe · low confidence lookup
CWE-401: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
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.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-401 · source CWE mapping
Missing Release of Memory after Effective Lifetime
Missing Release of Memory after Effective Lifetime represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.