Skip to main content

Linux Kernel EUVDEUVD-2026-39325

| CVE-2026-53234 HIGH
Use After Free (CWE-416)
2026-06-25 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-86vm-vp8g-7929
7.8
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
6.4 MEDIUM

Local UAF reachable only by triggering privileged device unbind (PR:H) and winning a teardown race (AC:H); kernel memory corruption yields full C/I/A impact.

3.1 AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
6.4 MEDIUM
AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Analysis Generated
Jul 08, 2026 - 19:11 vuln.today
CVSS changed
Jul 08, 2026 - 19:07 NVD
7.8 (HIGH)
CVE Published
Jun 25, 2026 - 09:16 nvd
HIGH 7.8
CVE Published
Jun 25, 2026 - 09:16 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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)

  1. emac_remove() returns
  2. 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

AnalysisAI

Use-after-free in the Linux kernel's IBM EMAC Ethernet driver (drivers/net/ethernet/ibm/emac) lets in-flight packet processing touch hardware resources that have already been freed during device removal, because devm_register_netdev() deferred unregister_netdev() until after emac_remove() tore down the hardware. A local attacker who can trigger driver unbind/hot-removal while the interface handles traffic can corrupt kernel memory, potentially escalating to code execution or crashing the system. This is a fixed regression window on IBM PowerPC EMAC hardware; no public exploit identified at time of analysis and EPSS risk is low (0.18%, 7th percentile).

Technical ContextAI

The affected component is the IBM EMAC driver, which serves the Ethernet MAC controllers found on IBM/AMCC PowerPC 4xx and related embedded SoCs. The root cause is CWE-416 (Use-After-Free) arising from managed-device (devres) lifecycle ordering: devm_register_netdev() schedules unregister_netdev() to run in the devres cleanup phase, which executes AFTER emac_remove() returns. emac_remove() cancels work, detaches PHY/MAL modules, and unregisters from the Memory Access Layer (MAL), freeing resources such as dev->emacp and dev->mal. Between emac_remove() returning and devres cleanup completing, the netdev is still registered, so the network stack can invoke emac_irq(), emac_poll(), or other handlers that dereference the now-freed structures. The fix replaces devm_register_netdev() with a manual register_netdev() and moves unregister_netdev() to the very start of emac_remove(), guaranteeing the device is quiesced before any teardown. CPE data confirms the affected product is cpe:2.3:o:linux:linux_kernel across multiple 7.1 release candidates and stable branches.

RemediationAI

Vendor-released patch: upgrade to Linux 6.12.94, 6.18.36, 7.0.13, or 7.1 (or later on each branch), which move unregister_netdev() to the start of emac_remove() before hardware teardown. Distribution users should apply their vendor's kernel update incorporating the stable commits at https://git.kernel.org/stable/c/a0130d682222ae21afc395aead7cd2d87e1a8358 and the related commits listed in the NVD advisory (https://nvd.nist.gov/vuln/detail/CVE-2026-53234). If immediate patching is not possible, the practical compensating control is to avoid triggering the vulnerable path: do not perform driver unbind or hot-removal of EMAC interfaces (via /sys/bus/platform/drivers/.../unbind) on production systems, and restrict root/administrative access that would allow such removal, since the UAF window only opens during device teardown. There is no feature toggle that mitigates the underlying race, so patching is strongly preferred over the operational workaround.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

Share

EUVD-2026-39325 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy