CVE-2026-31650Linux内核中的vub300驱动程序存在释放后利用漏洞。该驱动程序维护控制器及其驱动数据的显式引用计数,理论上最后一个引用可以在驱动程序解除绑定后被丢弃。这意味着控制器分配不能由设备管理,否则会导致释放后利用。此外,生命周期目前也不正确地绑定到父USB设备而不是接口,可能导致内存泄漏。
该漏洞源于Linux内核vub300驱动程序在处理USB设备断开连接时的内存管理逻辑错误。驱动程序为控制器及其驱动数据维护显式引用计数,在某些情况下,最后一个引用可能在驱动程序已经解除绑定之后才被释放。由于使用了设备管理的内存分配方式,这会导致内存被过早释放,而驱动程序逻辑仍可能尝试访问该内存区域,从而引发释放后利用漏洞。此外,控制器的生命周期目前错误地绑定到了父USB设备而不是接口设备,这意味着如果驱动程序在未物理断开设备的情况下被解除绑定(例如在探测延迟期间),会导致内存泄漏。修复方案通过恢复为控制器的非托管分配,由驱动程序显式管理生命周期,从而彻底解决了释放后利用和内存泄漏的问题。