Description
In the Linux kernel, the following vulnerability has been resolved:

net: dsa: mxl862xx: fix use-after-free of DSA ports in crc_err_work

Upon an MDIO CRC error mxl862xx_crc_err_work_fn() walks the DSA ports
and closes the CPU port conduits:

dsa_switch_for_each_cpu_port(dp, priv->ds)
dev_close(dp->conduit);

mxl862xx_remove() unregisters the switch before cancelling this work:

set_bit(MXL862XX_FLAG_WORK_STOPPED, &priv->flags);
cancel_delayed_work_sync(&priv->stats_work);
dsa_unregister_switch(ds);
mxl862xx_host_shutdown(priv);

dsa_unregister_switch() frees the dsa_port objects. If a CRC error
schedules the work during teardown it can run after the ports have been
freed and dereference freed memory.

Guard the port walk with MXL862XX_FLAG_WORK_STOPPED, which is already set
before dsa_unregister_switch(). DSA tears the ports down under
rtnl_lock(), so checking the flag under rtnl_lock() means the work either
runs before teardown and sees valid ports, or runs afterwards, observes
the flag and skips the walk. This mirrors the host_flood_work handler,
which skips torn-down ports under rtnl_lock().
Published: 2026-08-15
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability is a use‑after‑free flaw in the Linux kernel’s DSA (Distributed Switch Architecture) driver for MXL862xx devices. When an MDIO CRC error occurs, the work handler walks the list of DSA ports and closes conduit objects. If the switch is being torn down, the driver unregisters the switch and frees the DSA port structures before the work is cancelled. If the CRC error schedules work during this teardown, the work may execute after the ports are freed and dereference released memory, leading to kernel corruption or a crash. The flaw could be exploited to achieve arbitrary code execution in kernel mode or to cause a denial of service by crashing the kernel, although the description does not explicitly state the attacker’s intent.

Affected Systems

All Linux kernel builds that include the MXL862xx DSA driver are potentially affected, as vendor information lists only "Linux:Linux" and no specific kernel version is provided. The patch addresses the driver code path for MXL862xx devices, and any kernel deployment that runs that code path without applying the fix would remain vulnerable.

Risk and Exploitability

The EPSS score is not available and the vulnerability is not listed in CISA’s KEV catalog, so publicly reported proof of exploitation is not currently known. The risk level is nevertheless high because the flaw results in memory corruption at the kernel level. Exploitation requires a CRC error on the MDIO bus, which could be induced by network traffic or a malicious device attached to the switch. During driver teardown a race condition can trigger the use‑after‑free, so shutdown sequences that occur concurrently with erroneous bus traffic are particularly hazardous. Until the patch is applied, systems cannot guarantee stability or protection against an attacker who can induce CRC errors or force a driver unload while the error handler runs.

Generated by OpenCVE AI on August 15, 2026 at 11:09 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a release that contains the patch from the Git commit references provided; this removes the race condition by guarding the port walk with the work‑stopped flag.
  • If updating the kernel is not immediately possible, disable the MXL862xx DSA driver or prevent the associated hardware from generating MDIO CRC errors, for example by isolating the device or configuring the network interface to drop error frames.
  • Monitor kernel logs for "DSA" or "crc_err" related messages and schedule the driver removal only after all pending work has been cancelled; ensure that the MXL862XX_FLAG_WORK_STOPPED flag is set before initiating shutdown.

Generated by OpenCVE AI on August 15, 2026 at 11:09 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 15 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net: dsa: mxl862xx: fix use-after-free of DSA ports in crc_err_work Upon an MDIO CRC error mxl862xx_crc_err_work_fn() walks the DSA ports and closes the CPU port conduits: dsa_switch_for_each_cpu_port(dp, priv->ds) dev_close(dp->conduit); mxl862xx_remove() unregisters the switch before cancelling this work: set_bit(MXL862XX_FLAG_WORK_STOPPED, &priv->flags); cancel_delayed_work_sync(&priv->stats_work); dsa_unregister_switch(ds); mxl862xx_host_shutdown(priv); dsa_unregister_switch() frees the dsa_port objects. If a CRC error schedules the work during teardown it can run after the ports have been freed and dereference freed memory. Guard the port walk with MXL862XX_FLAG_WORK_STOPPED, which is already set before dsa_unregister_switch(). DSA tears the ports down under rtnl_lock(), so checking the flag under rtnl_lock() means the work either runs before teardown and sees valid ports, or runs afterwards, observes the flag and skips the walk. This mirrors the host_flood_work handler, which skips torn-down ports under rtnl_lock().
Title net: dsa: mxl862xx: fix use-after-free of DSA ports in crc_err_work
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-15T05:56:33.508Z

Reserved: 2026-08-09T03:40:39.926Z

Link: CVE-2026-72411

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:14.720

Modified: 2026-08-15T06:22:14.720

Link: CVE-2026-72411

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-15T11:15:03Z

Weaknesses