CVE-2026-43425Linux内核中的mdc800驱动程序存在安全漏洞。在`mdc800_device_read`函数处理下载URB超时事件时,未能正确终止处于活动状态的URB。当后续的读取操作尝试重新提交该未清理的URB时,会触发内核警告"URB submitted while active",导致系统内核日志报错,并可能引发系统不稳定或拒绝服务。该漏洞需要本地低权限访问权限即可触发。
该漏洞源于Linux内核`drivers/usb/image/mdc800.c`文件中的错误处理逻辑。`mdc800_device_read`函数提交`download_urb`后调用`wait_event_timeout`等待。若超时,原代码直接返回,未检查超时状态也未调用`usb_kill_urb`。这导致URB仍处于飞行状态。当用户空间再次调用read时,`usb_submit_urb`检测到URB处于活动状态并触发WARN_ON。攻击者需具备本地低权限账户,通过访问受影响的USB设备文件并触发特定的读取时序来利用此漏洞,主要影响系统的可用性(A:H)。