CVE-2026-43223Linux内核中的pvrusb2驱动程序存在一个资源泄漏漏洞。在pvr2_send_request_ex函数中,当写入URB提交成功但读取URB提交失败(例如内存不足)时,函数直接返回而未清理写入URB。由于驱动复用URB结构,后续调用会尝试提交仍处于活动状态的URB,导致内核警告及潜在的系统可用性问题。
该漏洞位于drivers/media/usb/pvrusb2/pvrusb2-io.c的pvr2_send_request_ex函数中。该函数负责处理USB请求块(URB)的提交。逻辑上,它先提交写URB,随后提交读URB。若读URB提交失败(返回-ENOMEM等错误),代码直接跳转至错误处理出口,未对已成功提交的写URB执行unlink操作。由于驱动采用URB结构体复用机制,下一次调用该函数时,会尝试通过usb_submit_urb提交一个状态仍为active的URB。这将触发“URB submitted while active”的内核警告,可能导致内核日志溢出或驱动崩溃,攻击者需具备本地低权限即可利用此漏洞造成拒绝服务。