CVE-2026-43180Linux内核中的kaweth网络驱动程序存在安全漏洞。该漏洞源于kaweth_set_rx_mode函数错误地操作了TX队列,调用了netif_stop_queue和netif_wake_queue。这种不当操作会在USB URB传输过程中过早唤醒发送队列,导致对同一URB进行重复提交。这不仅触发了内核警告,还可能引发系统崩溃或拒绝服务。
该漏洞位于Linux内核的net/usb/kaweth.c驱动文件中。kaweth_set_rx_mode函数作为网络设备操作的回调,本应仅处理接收模式(如多播过滤),却错误地对发送队列进行了流控干预。当系统正在通过kaweth_start_xmit发送数据时,它会停止队列并提交URB。若此时kaweth_set_rx_mode被调用,它会立即唤醒队列。由于发送操作可能尚未完成,这导致kaweth_start_xmit再次被触发并尝试提交一个仍处于活动状态的URB,违反了USB核心的规则。这种竞态条件会导致内核抛出“URB submitted while active”警告,进而可能造成内核死锁或崩溃。