CVE-2026-53234 Details
Description
In the Linux kernel, the following vulnerability has been resolved: net: ibm: emac: Fix use-after-free during device removal The driver was using devm_register_netdev() which causes unregister_netdev() to be deferred until the devres cleanup phase, which runs after emac_remove() returns. This creates a use-after-free window where: 1. emac_remove() is called, which tears down hardware (cancels work, detaches modules, unregisters from MAL) 2. emac_remove() returns 3. devres cleanup runs and finally calls unregister_netdev() During step 3, the network stack might still process packets, triggering emac_irq(), emac_poll(), or other handlers that access now-freed hardware resources (dev->emacp, dev->mal, etc.). Fix this by replacing devm_register_netdev() with manual register_netdev() and calling unregister_netdev() at the beginning of emac_remove(), before any hardware teardown. This ensures the network device is fully stopped and unregistered before hardware resources are released. The change is safe because: - dev->ndev is assigned very early in probe (before any error paths that could bypass emac_remove) - platform_set_drvdata() is only called after successful registration, so emac_remove() only runs for fully registered devices - unregister_netdev() is idempotent and safe to call on any registered device
A use-after-free vulnerability has been identified in the Linux kernel's IBM EMAC network driver. This issue arises because the driver uses 'devm_register_netdev()', which delays the unregistration of the network device until the device resource cleanup phase, occurring after the 'emac_remove()' function has completed. As a result, a use-after-free window is created: when 'emac_remove()' is called, it begins to dismantle the hardware by canceling work, detaching modules, and unregistering from the Media Access Layer. However, once 'emac_remove()' returns, the deferred cleanup process can still allow the network stack to handle packets, inadvertently invoking 'emac_irq()', 'emac_poll()', or other handlers that access now-freed hardware resources. This vulnerability has been addressed by replacing 'devm_register_netdev()' with 'register_netdev()' and ensuring 'unregister_netdev()' is called at the start of 'emac_remove()', prior to any hardware teardown. This change guarantees that the network device is fully stopped and unregistered before releasing hardware resources.
The vulnerability has been fixed in the Linux kernel by modifying the EMAC driver to use 'register_netdev()' instead of 'devm_register_netdev()'. Users should upgrade to the latest version of the Linux kernel where this fix has been applied.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/a0130d682222ae21afc395aead7cd2d87e1a8358 | kernel.org | Patch |
| https://git.kernel.org/stable/c/c09c2e236eef6f59e105f38a30f5439e6ccbcad7 | kernel.org | Patch |
| https://git.kernel.org/stable/c/c12584cd6078085d707266be864e7e1cc91d74e3 | kernel.org | Patch |
| https://git.kernel.org/stable/c/cf8e14db93eaecc4c0c58299be3b3183b0e53ed5 | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-416 | Use After Free | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 6.12, < 6.12.94 >= 6.13, < 6.18.36 >= 6.19, < 7.0.13 7.1 rc1 7.1 rc2 7.1 rc3 7.1 rc4 7.1 rc5 7.1 rc6 7.1 rc7 |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jul 8, 2026 | Initial Analysis | [email protected] |
| Jun 25, 2026 | New CVE Received | kernel.org |