CVE-2026-43255Linux内核中的libertas无线网卡驱动程序存在一处拒绝服务漏洞。该漏洞源于`usb_tx_block`函数在提交USB请求块(URB)时,未确保前一次传输已完成。在快速固件加载或高频数据传输场景下,重复提交处于活跃状态的URB会触发内核警告,并可能导致无线驱动崩溃或系统不稳定,从而造成拒绝服务。该问题主要影响本地系统的可用性,攻击者需具备本地低权限即可触发。
该漏洞位于Linux内核的Marvell Libertas无线驱动USB接口部分。问题的核心在于`usb_tx_block`函数缺乏必要的并发控制机制。该函数直接调用`usb_submit_urb(cardp->tx_urb)`进行数据传输,而未检查`tx_urb`是否正处于处理中。在特定条件下(如快速固件加载),若前一个URB传输尚未结束,新的传输请求即被提交,违反了Linux内核USB子系统的操作规范。虽然通常表现为内核日志警告,但在竞态窗口中,这可能导致USB核心数据结构损坏或驱动程序死锁,最终导致系统崩溃或重启。修复补丁通过在提交新请求前调用`usb_kill_urb()`强制取消旧请求,保证了操作的互斥性和安全性。根据CVSS 3.1评分,该漏洞属于中危级别,攻击向量为本地(AV:L),需要低权限(PR:L)且无需用户交互(UI:N)即可触发。其主要影响在于可用性(A:H),可能导致无线网络服务中断或系统内核崩溃,但不会直接影响数据的机密性和完整性。