CVE-2026-43432Linux内核的USB xHCI驱动程序中存在一个内存泄漏漏洞。该漏洞源于`xhci_disable_slot`函数的错误处理路径。当调用`xhci_alloc_command`分配命令结构体时,如果第二个参数为真,会同时分配完成结构体。然而,在错误处理逻辑中,代码仅使用了`kfree()`释放命令结构体,导致完成结构体未被释放。利用此漏洞可能导致本地攻击者耗尽系统内存,从而影响系统可用性。
该漏洞位于Linux内核的`drivers/usb/host/xhci-mem.c`文件中的`xhci_disable_slot`函数。问题出在资源管理逻辑上:`xhci_alloc_command`函数负责分配`xhci_command`结构体,并根据标志位分配配套的`completion`结构体。标准的释放流程应使用`xhci_free_command`,该函数会安全释放命令结构体、完成结构体以及输入上下文。但在`xhci_disable_slot`的错误处理分支中,开发者直接使用了`kfree(cmd)`,仅释放了外层结构体,造成`completion`结构体内存泄漏。由于该结构体是在特定错误路径下分配的,攻击者需要具备本地低权限,并通过特定的USB操作或硬件状态触发该错误路径。虽然该漏洞不涉及代码执行,但在高频触发下,持续的内存泄漏可能导致内核内存耗尽,从而引发拒绝服务攻击。