CVE-2026-31578Linux内核as102_usb_probe函数中存在严重的竞争条件漏洞。该漏洞发生在设备注册成功后的错误处理路径中。若驱动在注销设备后立即释放内存,而用户空间恰好在注销前持有文件描述符,后续关闭操作将触发释放后重用或双重释放,攻击者可利用此漏洞导致系统崩溃或权限提升。
漏洞源于Linux内核as102_usb驱动的as102_usb_probe函数存在竞态条件。当usb_register_dev()成功注册设备后,若后续错误处理逻辑调用usb_deregister_dev()并立即执行kfree(as102_dev_t)释放内存,而用户空间恰好在注销前成功打开设备文件。当该文件描述符最终关闭时,将触发as102_release()回调,导致对已释放内存的再次访问或释放,构成Use-After-Free和Double Free。该漏洞允许本地低权限攻击者利用竞态窗口,通过特定的打开和关闭时序触发内存破坏,从而实现本地权限提升或导致系统内核崩溃。