CVE-2026-72411: Linux kernel · net: dsa: mxl862xx: fix use-after-free of DSA ports in crc_err_work
Affects Linux kernelSource GCVE Database
Not known to be exploited · CVSS 7.8 High.
Data as of 26 Oct 2026, 17:16 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 5% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 17 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
AI-suggested
A fix has been implemented in the Linux kernel to guard the work function with a flag that prevents use-after-free during teardown. Users should apply the official kernel updates that include this patch. No additional mitigation is indicated.
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().
References
- nvd.nist.gov/vuln/detail/CVE-2026-72411 (opens in a new tab)
- git.kernel.org/stable/c/bcb3b8314611ed9cb4ff4bff484ef9b154fd1b83 (opens in a new tab)
- git.kernel.org/stable/c/cf52622fbc274eb4ca9a2066b258da2ae3dc7406 (opens in a new tab)
- ubuntu.com/security/CVE-2026-72411 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2026-72411 (opens in a new tab)
- git.kernel.org/linus/bcb3b8314611ed9cb4ff4bff484ef9b154fd1b83 (opens in a new tab)