CVE-2026-43219Linux内核网络驱动cpsw_new中存在一处逻辑漏洞。在设备初始化的端口注册阶段,如果第一个MAC地址的注册操作失败,代码虽然将第一个设备指针置空,但未正确处理第二个设备的状态。这致使后续的错误恢复流程尝试注销一个尚未成功注册的网络设备,引发内核异常崩溃,导致系统拒绝服务。
该漏洞位于Linux内核的drivers/net/ethernet/ti/cpsw_new.c驱动文件中。根本原因在于错误处理路径的不完整性。当cpsw_register_ports()函数尝试注册网络设备时,如果第一个从设备的register_netdev()调用失败,代码会将cpsw->slaves[0].ndev设为NULL,但未将cpsw->slaves[1].ndev设为NULL。随后,cpsw_unregister_ports()被调用以清理资源,它会遍历所有从设备并尝试调用unregister_netdev()。由于cpsw->slaves[1].ndev非空,系统会尝试注销一个未注册的设备。这种对未注册设备执行注销操作的行为违反了内核网络设备的状态机规则,导致Kernel Oops或系统死锁,进而造成拒绝服务。攻击者需具备本地低权限即可触发该漏洞。