CVE-2026-43219 Overview
CVE-2026-43219 is a Linux kernel vulnerability in the cpsw_new network driver. The flaw resides in the Common Platform Switch (CPSW) Ethernet driver used on Texas Instruments SoCs. When register_netdev() fails for the first MAC during cpsw_register_ports(), the driver leaves stale ndev references for subsequent slaves. A later call to cpsw_unregister_ports() then attempts to unregister a network device that was never registered. The kernel maintainers have committed a fix that checks ndev->reg_state before invoking unregister_netdev().
Critical Impact
Improper error-path handling in the CPSW driver can trigger unregister operations on uninitialized netdev structures, leading to kernel instability on affected TI-based Linux systems.
Affected Products
- Linux kernel branches containing the cpsw_new driver
- Systems using Texas Instruments CPSW Ethernet switches
- Embedded and industrial Linux platforms based on affected TI SoCs
Discovery Timeline
- 2026-05-06 - CVE-2026-43219 published to NVD
- 2026-05-06 - Last updated in NVD database
Technical Details for CVE-2026-43219
Vulnerability Analysis
The vulnerability exists in the CPSW (Common Platform Switch) network driver at drivers/net/ethernet/ti/cpsw_new.c. The cpsw_register_ports() function iterates over MAC slaves and calls register_netdev() for each one. If registration fails for the first MAC, the driver sets cpsw->slaves[0].ndev to NULL but leaves cpsw->slaves[1].ndev and other slot pointers unchanged.
During teardown, cpsw_unregister_ports() walks the same slave array and calls unregister_netdev() on every non-NULL ndev pointer. Because the second slave's ndev was never successfully registered, this call operates on a netdev structure in an inconsistent state. The result is incorrect kernel bookkeeping in the network stack.
Root Cause
The root cause is incomplete error-path cleanup. The original logic relied on nullifying ndev pointers after a registration failure, but this was applied inconsistently across slaves. The upstream fix introduces a check on ndev->reg_state before unregistering, ensuring that only devices in the NETREG_REGISTERED state are passed to unregister_netdev(). This makes the explicit NULL assignment unnecessary and is removed in the patch.
Attack Vector
This is a local kernel reliability issue triggered along an error path during driver initialization. Exploitation requires conditions that cause register_netdev() to fail on the first MAC of a CPSW-equipped device. The vulnerability does not present a direct remote attack surface and is primarily a stability and correctness defect in the network driver's failure handling logic.
The fix is described in the upstream commits referenced in the Kernel Git Commit entries.
Detection Methods for CVE-2026-43219
Indicators of Compromise
- Kernel log messages from cpsw_new indicating failed register_netdev() calls during boot or module load
- Warnings or oops traces referencing unregister_netdevice on TI CPSW interfaces
- Repeated network interface initialization failures on TI SoC-based hardware
Detection Strategies
- Audit running kernel versions against the patched stable trees referenced in the kernel.org commits
- Monitor dmesg and journalctl -k output on TI-based embedded Linux fleets for CPSW driver errors
- Inventory affected hardware platforms that load the cpsw_new module
Monitoring Recommendations
- Forward kernel logs from embedded Linux assets to a centralized logging or SIEM platform
- Alert on kernel panics, oops events, or WARN_ON traces referencing network driver unregister paths
- Track package and kernel version drift across IoT and OT deployments to confirm patch coverage
How to Mitigate CVE-2026-43219
Immediate Actions Required
- Update the Linux kernel to a stable version that includes the upstream fix from the referenced commits
- Identify all TI SoC-based assets running the cpsw_new driver and prioritize them for patching
- Validate kernel updates in a test environment before rolling out to production embedded fleets
Patch Information
The issue is resolved by checking ndev->reg_state before calling unregister_netdev() in cpsw_unregister_ports(). The fix is available in the upstream stable trees. Refer to Kernel Commit 9d724b3, Kernel Commit 349c4ca, and Kernel Commit 29739ec for the patch content.
Workarounds
- No documented runtime workaround exists; apply the kernel patch as the primary remediation
- Where patching is delayed, restrict physical and administrative access to affected devices to limit exposure to error-path triggers
- Monitor affected systems closely for repeated CPSW initialization failures and reboot anomalies
# Verify running kernel version and CPSW driver presence
uname -r
lsmod | grep cpsw
dmesg | grep -i cpsw
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

