CVE-2026-53234: Linux IBM EMAC Use-After-Free During Device Removal
A use-after-free vulnerability exists in the IBM EMAC network driver in the Linux kernel. During device removal, the driver defers network device unregistration until after hardware teardown, creating a window where the network stack can still process packets and access freed memory. This can lead to crashes or potential privilege escalation on systems running affected kernel versions. The fix involves explicitly unregistering the network device before tearing down hardware, eliminating the unsafe race condition.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.8 HIGH · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weaknesses (CWE)
- CWE-416
- Affected products
- 8 configuration(s)
- Published / Modified
- 2026-06-25 / 2026-07-08
NVD description (verbatim)
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
4 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-53234 is a use-after-free (CWE-416) in the Linux kernel's IBM EMAC Ethernet driver. The vulnerability stems from the use of devm_register_netdev(), which defers unregister_netdev() until the devres cleanup phase—after emac_remove() has already released hardware resources like dev->emacp and dev->mal. Between hardware teardown and network device unregistration, the network stack can trigger interrupt handlers (emac_irq, emac_poll) that dereference freed memory. The remediation replaces devm_register_netdev() with explicit register_netdev() and unregister_netdev() at the start of emac_remove(), ensuring device unregistration completes before any hardware cleanup.
Business impact
This vulnerability affects Linux-based systems using IBM EMAC network adapters. On vulnerable kernels, device hotplug, driver reload, or system shutdown sequences can trigger kernel panics or memory corruption. In multi-tenant or cloud environments where device pass-through or dynamic driver loading is common, this could enable local privilege escalation. The severity is amplified for headless servers and embedded systems where recovery is difficult. Patch deployment is straightforward and carries minimal risk, making rapid remediation advisable for production infrastructure.
Affected systems
The Linux kernel is affected, specifically versions shipping the IBM EMAC driver (net/ethernet/ibm/emac/). This impacts distributions and embedded systems using POWER-based architectures or systems with IBM PowerNIC adapters. Check your kernel version and driver configuration; systems without IBM EMAC hardware are unaffected. Verify your kernel configuration includes CONFIG_IBM_EMAC to determine exposure.
Exploitability
Exploitation requires local system access and the ability to trigger driver removal (e.g., rmmod, device hotplug, or system reboot). No remote or unprivileged exploitation is possible. The vulnerability is deterministic: any removal of the EMAC device can trigger the race, though the exact manifestation (crash versus privilege escalation) depends on kernel memory layout and timing. The attack surface is limited to systems with physical device management or where unprivileged users can trigger device hotplug events.
Remediation
Update the Linux kernel to a patched version that replaces devm_register_netdev() with explicit register_netdev() and unregister_netdev() calls in the EMAC driver. Verify the patch against the vendor advisory for your specific kernel version and distribution. No workarounds are available; patching is the only mitigation. For systems unable to patch immediately, disable EMAC driver autoload or restrict hotplug permissions if feasible.
Patch guidance
Obtain the kernel update from your Linux distribution's official repository. The patch modifies drivers/net/ethernet/ibm/emac/core.c to manually manage network device lifecycle instead of relying on devres. Verify patch application by checking that unregister_netdev() is called at the start of emac_remove() before any hardware teardown. Test the patched kernel with device removal or system reboot to confirm the fix resolves any prior hangs or crashes. Standard kernel update procedures apply; reboot is required.
Detection guidance
Monitor kernel logs for NULL pointer dereferences, use-after-free messages, or KASAN reports mentioning emac functions during device removal or driver unload. Systems experiencing panics during hotplug, reboot, or rmmod of the EMAC driver may indicate exploitation. Audit which systems have CONFIG_IBM_EMAC enabled in their running kernel (check /boot/config or dmesg for 'IBM EMAC' references). No userland indicators exist; detection requires kernel-level instrumentation or log analysis.
Why prioritize this
This is a HIGH severity vulnerability affecting kernel device drivers with a CVSS score of 7.8. While exploitation requires local access, it is highly reliable and can lead to privilege escalation or denial of service. Systems with EMAC hardware or POWER-based architectures should prioritize patching before planned maintenance windows. The fix is low-risk and well-isolated to the EMAC driver, minimizing regression potential.
Risk score, explained
CVSS 3.1 score of 7.8 (HIGH) reflects high impact (confidentiality, integrity, availability all affected) with low attack complexity and local attack vector. CWE-416 (use-after-free) is a critical memory safety issue. The vulnerability is not in CISA's KEV catalog, but its combination of reliable exploitation, privilege escalation potential, and presence in core kernel driver code warrants immediate attention for affected deployments. Kernel vulnerabilities carry inherent severity due to ring-0 context.
Frequently asked questions
Is my system affected if I don't have IBM EMAC hardware?
No. The vulnerability is specific to the IBM EMAC Ethernet driver. If your system does not use IBM PowerNIC adapters or has CONFIG_IBM_EMAC disabled in the kernel, you are not affected. Check your kernel configuration or driver list to confirm.
Can this vulnerability be exploited remotely?
No. Exploitation requires local system access and the ability to trigger driver removal. Remote attackers cannot exploit this vulnerability. This limits exposure to privileged or unprivileged local users with device management permissions.
What happens if my system hits this vulnerability?
The most likely outcome is a kernel panic or hang during device removal, system reboot, or driver reload. Depending on memory layout and kernel version, it could theoretically enable local privilege escalation. Either way, the system becomes unstable or unavailable.
Why was devm_register_netdev() used in the first place?
The devres framework simplifies resource cleanup by automating deallocation. However, for network devices, the unregistration must happen before hardware teardown, making manual lifecycle management necessary. This is a common pitfall in Linux driver development.
This analysis is based on the vulnerability description and CVSS vector provided. Patch version numbers, vendor advisory details, and specific affected kernel versions must be verified against official Linux kernel repositories and your distribution's security advisories. No exploit code is provided or should be developed from this analysis. Organizations should test patches in non-production environments before deployment. This vulnerability requires local system access and is not remotely exploitable. Source: NVD (public-domain), retrieved 2026-08-03. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-10001HIGHChrome Sandbox Escape via PerformanceManager Use-After-Free
- CVE-2026-10002HIGHGoogle Chrome PDFium Use-After-Free Vulnerability (CVSS 8.8)
- CVE-2026-10003HIGHChrome Use-After-Free Code Execution Vulnerability Analysis
- CVE-2026-10007HIGHChrome Use-After-Free in SVG Arbitrary Code Execution (CVSS 8.8)
- CVE-2026-10012HIGHChrome Skia Use-After-Free Sandbox Escape (v148.0.7778.216)
- CVE-2026-10013HIGHUse-After-Free in Chrome WebCodecs – Patch Guide & Risk Assessment
- CVE-2026-10016HIGHUse-After-Free in Chrome DOM – Sandbox Code Execution Vulnerability
- CVE-2026-10882HIGHCritical Chrome Use-After-Free RCE Vulnerability – Exploit Details & Patch Guidance