CVE-2026-43429Linux内核中的usbtmc驱动程序存在一个拒绝服务漏洞。该驱动程序允许用户通过ioctl命令指定超时时间,并用于usb_bulk_msg()调用。由于usb_bulk_msg()使用不可中断的等待,攻击者可以指定极长的超时值,导致内核线程被无限期挂起,从而造成系统可用性受损。
漏洞源于Linux内核USB TMC驱动对用户输入的超时参数处理不当。当驱动处理ioctl请求时,会将用户提供的超时值传递给usb_bulk_msg()函数。该函数在USB传输未完成时,会将进程置于不可中断的睡眠状态(TASK_UNINTERRUPTIBLE)。本地低权限用户可利用此缺陷,通过设置一个极大的超时时间(如UINT_MAX),使内核线程陷入长时间等待且无法被信号唤醒。这会导致内核资源被锁定或耗尽,最终引发系统拒绝服务。修复方案是将usb_bulk_msg()替换为usb_bulk_msg_killable(),以支持可中断的等待。